/*
 FusionCharts JavaScript Library
 Copyright FusionCharts Technologies LLP
 License Information at <http://www.fusioncharts.com/license>

 @version 3.5.1
*/
FusionCharts.register("module",["private","modules.renderer.js-gradientlegend",function(){function eb(g,h,wa){var ra=g[0],E=g[1];g=g[2];ra+=(h[0]-ra)*wa;E+=(h[1]-E)*wa;h=g+(h[2]-g)*wa;return{hex:(A+(ra<<16|E<<8|h).toString(16)).slice(-6),rgb:[ra,E,h]}}function kb(g,h){return g.maxvalue-h.maxvalue}function fb(h){var A,wa,ra=h.colorRange||{},E=h.dataMin,u=h.dataMax,S=h.sortLegend||!1,w=h.mapByCategory||!1,G=h.defaultColor,ha=h.numberFormatter,D=ra.color;h=this.colorArr=[];var L,Z,U;this.mapByCategory=
w;"1"===ra.mapbypercent&&(this.mapbypercent=!0);if("1"===ra.gradient&&!w){this.gradient=!0;wa=Eb(Oa(ra.startcolor,ra.mincolor,ra.code));S=Jb(Eb(Oa(wa,G,"CCCCCC")));w=this.scaleMin=Ua(ra.startvalue,ra.minvalue,this.mapbypercent?0:E);h.push({code:wa,maxvalue:w,label:I(ra.startlabel),codeRGB:Jb(wa)});if(D&&(A=D.length))for(E=0;E<A;E+=1)G=D[E],wa=Eb(Oa(G.color,G.code)),Z=Ua(G.value,G.maxvalue),U=Ua(G.minvalue),Z>w&&h.push({code:wa,maxvalue:Z,userminvalue:U,label:I(Oa(G.label,G.displayvalue)),codeRGB:Jb(wa)});
h.sort(kb);A=h.length;for(E=1;E<A;E+=1)G=h[E],wa=G.maxvalue-w,0<wa?(G.minvalue=w,G.range=wa,w=G.maxvalue):(h.splice(E,1),E-=1,A-=1);2<=h.length&&(this.scaleMax=w,h[E-1].label=Oa(ra.endlabel,h[E-1].label,h[E-1].displayvalue));1===h.length&&(Z=Ua(ra.maxvalue,this.mapbypercent?100:u),h.push({minvalue:w,maxvalue:Z,range:Z-w,label:ra.endlabel}),this.scaleMax=Z,delete h[0].code);ra=h[0];u=h[h.length-1];ra.code&&u.code||(wa=g(S),A=C((wa[2]=0,wa)),wa=C((wa[2]=100,wa)),ra.code||(ra.codeRGB=A,ra.code=aa(A)),
u.code||(u.codeRGB=wa,u.code=aa(wa)));A=h.length;for(E=1;E<A;E+=1)if(G=h[E],G.code){if(L)for(u=G,U=ra.maxvalue,D=u.maxvalue-U;L<E;L+=1)S=h[L],wa=eb(ra.codeRGB,u.codeRGB,(S.maxvalue-U)/D),S.code=wa.hex,S.codeRGB=wa.rgb;L=null;ra=G}else L=L||E;if(void 0===this.scaleMin||void 0===this.scaleMax)this.noValidRange=!0}else if(D&&(A=D.length)){for(E=0;E<A;E+=1)G=D[E],wa=Oa(G.color,G.code),Z=Ua(G.maxvalue),U=Ua(G.minvalue),L=Oa(G.label,G.displayvalue,w?fa:ha.dataLabels(U)+" - "+ha.dataLabels(Z)),(wa&&Z>U||
w&&L)&&h.push({code:wa,maxvalue:Z,minvalue:U,label:I(L),labelId:L.toLowerCase()});h.length?S&&h.sort(kb):this.noValidRange=!0}}function D(g,h){return h?ka(100*g)/100+"%":Pa(g,fa).toString()}var u=this,ga=u.hcLib,Sa=u.window,Sa=/msie/i.test(Sa.navigator.userAgent)&&!Sa.opera,Ua=ga.pluckNumber,A=ga.COLOR_BLACK,Zb=ga.COLOR_GLASS,cb=ga.FC_CONFIG_STRING,h=ga.graphics,C=h.HSBtoRGB,g=h.RGBtoHSB,aa=h.RGBtoHex,Jb=h.HEXtoRGB,G=ga.COMMASTRING,fa=ga.BLANKSTRING,I=ga.parseUnsafeString,Ba=ga.graphics.convertColor,
ha=ga.POSITION_TOP,lb=ga.POSITION_MIDDLE,Ta=ga.POSITION_START,Nb=ga.POSITION_END,$b=ga.graphics.getDarkColor,mb=ga.graphics.getLightColor,Oa=ga.pluck,Pa=ga.getValidValue,ib=ga.toRaphaelColor,rb=ga.hasTouch,ka=Math.round,Qa=Math.max,U=Math.min,sa=Math.abs,da,Ia,yb,ac="rgba(192,192,192,"+(Sa?.002:1E-6)+")",Eb=function(g){return g&&g.replace(/^#?([a-f0-9]+)/ig,"$1")};fb.prototype={getColorObj:function(g){var h=this.colorArr,A=this.gradient?1:0,u=h[A],E;if(this.mapByCategory){for(g=I(g).toLowerCase();u;){if(u.labelId===
g)return{code:u.code,seriesIndex:A};A+=1;u=h[A]}return{outOfRange:!0}}if(this.gradient){if(this.scaleMin<=g&&this.scaleMax>=g){for(;u&&u.maxvalue<g;)A+=1,u=h[A];g=(g-u.minvalue)/u.range;return{code:eb(h[A-1].codeRGB,u.codeRGB,g).hex}}return{outOfRange:!0}}for(;u;){if(u.maxvalue>g&&u.minvalue<=g)return{code:u.code,seriesIndex:A};u.maxvalue===g&&(E=A);A+=1;u=h[A]}return(u=h[E])&&u.maxvalue===g?{code:u.code,seriesIndex:E}:{outOfRange:!0}}};fb.prototype.constructor=fb;ga.colorRange=fb;da=ga.configureGradientLegendOptions=
function(g,h){var u=g.legend,G=h.chart;u.legendSliderBorderWidth=Ua(G.legendpointerborderthickness,1);u.legendSliderBorderColor=Ba(Oa(G.legendpointerbordercolor,A),Ua(G.legendpointerborderalpha,100));u.legendSliderWidth=Ua(G.legendpointerwidth,G.legendpointerswidth,12);u.legendSliderHeight=Ua(G.legendpointerheight,G.legendpointersheight,12);u.legendColorBoxBorderColor=u.borderColor;u.legendColorBoxBorderWidth=u.borderWidth;u.legendScaleColor=Ba(Oa(G.legendscalelinecolor,A),Ua(G.legendscalelinealpha,
100));u.legendScalePadding=Ua(G.legendscalepadding,4);u.legendScaleLineThickness=Ua(G.legendscalelinethickness,1);u.legendScaleTickDistance=Ua(G.legendscaletickdistance,6);u.itemStyle.cursor="default";u.interActivity=Ua(G.interactivelegend,1)};ga.placeGLegendBlockRight=function(g,h,A,u,E){this.configureLegendOptions(g,h.chart,!0,E,A);da(g,h);E=this.snapLiterals||(this.snapLiterals={});var G=g[cb],S=this.smartLabel||G.smartLabel,w=g.legend,ha=g.chart.spacingRight,C,I,L=w.textPadding=2,Z=2*L,sa=w.title.padding,
ka=0,aa=0,Ba=2*w.padding;h=Ua(h.chart.legendpadding,7)+w.borderWidth/2+1;var J=g.colorRange||{},ga=J.colorArr,Ka=J.mapbypercent,La=J.scaleMin,Oa=J.scaleMax-La,Ia=w.legendSliderWidth,ia=w.legendSliderHeight/2;I=w.legendScalePadding;var y=w.legendScaleTickDistance,Ma=w.itemStyle||{};C=Ua(parseInt(Ma.lineHeight,10)||12);var Va=.75*C,Ea=A-Ba,Fa,ma,Ca=0,Ya,r,ea,Da,Ja,Ga,Ta;u-=Ba;if(!J.noValidRange&&ga&&1<(ma=ga.length)){ma-=1;w.title.text!==fa&&(S.setStyle(w.title.style),C=S.getSmartText(w.title.text,
Ea,Qa(C,u/4)),w.title.text=C.text,ka=C.width+Ba,u-=aa=C.height+sa);S.setStyle(Ma);C=S.lineHeight;Ea-=y+I+Ia;w.colorBoxX=Ia;sa=Qa(C,Ea/2);Ea=U(Ea-sa-4,C);Ya=Qa(C,u/2);Fa=u/4;y=ga[0];y.scaleLabel=D(y.maxvalue,Ka);C=S.getSmartText(y.label,Fa,Ea);y.label=C.text;Ma=C.height;y.labelY=Va-C.height/2;I=S.getSmartText(y.scaleLabel,sa,Ya);y.scaleLabel=I.text;J=I.height/2;r=I.width;y.scaleLabelY=Va-I.height/2;w.colorBoxY=Qa(J,C.width+Z,ia)+aa;y=Ta=ga[ma];y.scaleLabel=D(y.maxvalue,Ka);C=S.getSmartText(y.label,
Fa,Ea);y.label=C.text;Ma=Qa(Ma,C.height);y.labelY=Va-C.height/2;I=S.getSmartText(y.scaleLabel,sa,Ya);y.scaleLabel=I.text;r=Qa(r,I.width);Fa=I.height/2;C=Qa(C.width+Z,Fa,ia);y.scaleLabelY=Va-I.height/2;w.colorBoxHeight=ia=u-w.colorBoxY-C;Ya=ia-Fa;ea=ia/Oa;Ja=U(ia-Ca,Ya-J)-4;for(Fa=1;Fa<ma;Fa+=1)y=ga[Fa],Da=(y.maxvalue-La)*ea,C=S.getSmartText(y.label,2*U(Da-Ca,ia-Da),Ea),y.label=C.text,Ma=Qa(Ma,C.height),y.labelY=Va-C.height/2,C=C.width/2,y.scaleLabel=D(y.maxvalue,Ka),I=S.getSmartText(y.scaleLabel,
sa,2*U(Da-J,Ya-Da)),y.scaleLabel=I.text,r=Qa(r,I.width),Ga=I.height/2,y.scaleLabelY=Va-I.height/2,Ja=U(Ja,(Da-Qa(Ga+J,C+Ca)-4)*Oa/y.range),Ca=C+Da,J=Ga+Da;Ja=Qa(U(Ja,(U(Ya-J,ia-Ca)-4)*Oa/Ta.range,.3*u),0);w.colorBoxHeight-=Ja;w.colorBoxWidth=Ma&&Ma+Z||15;w.height=w.totalHeight=u+aa+Ba-Ja;w.width=(r&&r+L)+w.colorBoxWidth+Ia+w.legendScaleTickDistance+w.legendScalePadding+Ba;w.width<ka&&(w.colorBoxX+=(ka-w.width)/2,w.width=ka);w.width>A&&(w.width=A);E.legendstartx=G.width-ha-w.width;E.legendwidth=w.width;
E.legendendx=E.legendstartx+E.legendwidth;E.legendheight=w.height;h+=w.width;g.chart.marginRight+=h;return h}w.enabled=!1;return 0};ga.placeGLegendBlockBottom=function(g,h,A,u,E){this.configureLegendOptions(g,h.chart,!1,E,A);da(g,h);E=this.snapLiterals||(this.snapLiterals={});var G=g[cb],C=this.smartLabel||G.smartLabel,w=g.legend,I=g.chart,ha=I.spacingBottom,sa=I.spacingLeft,I=I.spacingRight,L,Z,ka=w.textPadding=2,aa=w.title.padding,Ba=0,ga=0,J=2*w.padding;h=Ua(h.chart.legendpadding,7)+w.borderWidth/
2+1;var Ia=g.colorRange||{},Ka=Ia.colorArr,La=Ia.mapbypercent,Ta=Ia.scaleMin,Sa=Ia.scaleMax-Ta,ia=w.legendSliderWidth,y=w.legendSliderHeight,Ma=w.legendScalePadding,Va=w.legendScaleTickDistance,Ea=w.itemStyle||{};L=Ua(parseInt(Ea.lineHeight,10)||12);var Fa=.75*L,ma=u-J,Ca,Ya,r,ea,Da=0,Ja,Ga,Pa;A-=J;if(!Ia.noValidRange&&Ka&&1<(Ya=Ka.length)){Ya-=1;w.title.text!==fa&&(C.setStyle(w.title.style),L=C.getSmartText(w.title.text,A,ma/3),w.title.text=L.text,Ba=L.width+J,ma-=ga=L.height+aa);C.setStyle(Ea);
L=C.lineHeight;ma-=Va+Ma+y;aa=Qa(L,ma/2);Ea=U(ma-aa-4,L);Ca=A/4;ea=2*Ca;r=Ka[0];r.scaleLabel=D(r.maxvalue,La);L=C.getSmartText(r.label,Ca,Ea);r.label=L.text;ma=L.height;r.labelY=Fa-L.height/2;Z=C.getSmartText(r.scaleLabel,ea,aa);r.scaleLabel=Z.text;Ma=Z.width/2;Va=Z.height;r.code||(r.code=Oa(w.minColor,"CCCCCC"));w.colorBoxX=Qa(Ma,L.width+ka,ia);r=Ia=Ka[Ya];r.scaleLabel=D(r.maxvalue,La);L=C.getSmartText(r.label,Ca,Ea);r.label=L.text;ma=Qa(ma,L.height);r.labelY=Fa-L.height/2;Z=C.getSmartText(r.scaleLabel,
ea,aa);r.scaleLabel=Z.text;Va=Qa(Va,Z.height);r=Z.width/2;L=Qa(L.width+ka,r,ia);w.colorBoxWidth=ia=A-w.colorBoxX-L;ea=ia-r;Ja=ia/Sa;Pa=U(ia-Da,ea-Ma)-4;for(Ca=1;Ca<Ya;Ca+=1)r=Ka[Ca],Ga=(r.maxvalue-Ta)*Ja,L=C.getSmartText(r.label,2*U(Ga-Da,ia-Ga),Ea),r.label=L.text,ma=Qa(ma,L.height),r.labelY=Fa-L.height/2,L=L.width/2,r.scaleLabel=D(r.maxvalue,La),Z=C.getSmartText(r.scaleLabel,2*U(Ga-Ma,ea-Ga),aa),r.scaleLabel=Z.text,Va=Qa(Va,Z.height),Z=Z.width/2,Pa=U(Pa,(Ga-Qa(Z+Ma,L+Da)-4)*Sa/r.range),Da=L+Ga,Ma=
Z+Ga;Pa=Qa(U(Pa,(U(ea-Ma,ia-Da)-4)*Sa/Ia.range,.3*A),0);w.colorBoxWidth-=Pa;w.width=A+J-Pa;w.width<Ba&&(w.colorBoxX+=(Ba-w.width)/2,w.width=Ba);w.colorBoxY=ga+y;w.colorBoxHeight=ma&&ma+2*ka||15;w.height=w.totalHeight=(Va&&Va+ka)+w.colorBoxHeight+ga+y+w.legendScaleTickDistance+w.legendScalePadding+J;w.height>u&&(w.height=u);E.legendstartx=sa+.5*(G.width-sa-I-w.width)+(w.x||0);E.legendwidth=w.width;E.legendendx=E.legendstartx+E.legendwidth;E.legendstarty=G.height-ha-w.height;E.legendheight=w.height;
E.legendendy=E.legendstarty+E.legendheight;h+=w.height;g.chart.marginBottom+=h;return h}w.enabled=!1;return 0};Ia=function(){return{point:this}};yb=function(g){return ka(100*g)/100};ga.rendererRoot.drawGradientLegendItem=function(g){var h=this,C=h.paper,I=h.options,E=h.canvasLeft,D=h.canvasTop,S=h.canvasWidth,w=h.canvasHeight,U=I.colorRange,aa,ga,L,Z,da=I.legend,Pa=Ua(da.padding,4),Sa=da.itemStyle,I=da.symbolStyle,eb=da.interActivity,J=g.elements;g=J.elementGroup.trackTooltip(!0);var cb="vertical"===
da.layout,Ka,La,hb,fb,ia,y,Ma=0,Va=da.lighting3d,Ea=da.colorBoxWidth,Fa=da.colorBoxHeight,ma=Ea,Ca=Fa,Ya={FCcolor:{color:fa,alpha:fa,angle:0,ratio:fa}},r=Ya.FCcolor,ea=da.colorBoxX+Pa,Da=da.colorBoxY+Pa,Ja,Ga,kb=da.legendColorBoxBorderColor,Jb=da.legendColorBoxBorderWidth,xa=["M"],Eb=da.legendScaleColor;y=da.legendScalePadding;var Kb=da.legendScaleLineThickness,nb=Kb%2/2;ga=da.legendScaleTickDistance;var sb=da.legendSliderWidth,zb=da.legendSliderHeight;ia=Ca/2;Z=ma/2;var ob=sb/2,Xa=zb/2,Lb,$a,Ab;
Ga=0;var Ob=mb("ABABAB",50),Pa=$b("ABABAB",70),da=Ba("ABABAB",100),Pa=Ba(Pa,100),Ob=Ba(Ob,100),Bb,Ha={isFirst:!0},Aa={},ab,bb,Cb,b;if(U&&(aa=U.colorArr)&&1<(L=aa.length)){Ha.toolText=ab=hb=U.scaleMin;Aa.toolText=bb=U=U.scaleMax;fb=U-hb;Ha.snapPX=Aa.snapPX=0;Ha.tooltipConstraint=Aa.tooltipConstraint="chart";Ha.getLabelConfig=Aa.getLabelConfig=Ia;Ha.tooltipPos=[0,0];Aa.tooltipPos=[0,0];Aa.tooltipOffsetReference=Ha.tooltipOffsetReference={};Aa.tooltipOffsetReference.left=Ha.tooltipOffsetReference.left+=
E-20;Aa.tooltipOffsetReference.top=Ha.tooltipOffsetReference.top+=D;Cb=J.colorBox=C.group("colorBox",g);if(cb){Ha.tooltipPos[0]=Aa.tooltipPos[0]=S+E;Ga=270;r.angle=90;E=ea-sb;S=ea+ma;D=Da-Xa;Ka=Da+Xa;E=ka(ea-sb)+.5;S=ka(ea)+.5;D=ka(Da-Xa)+.5;Ka=ka(Da+Xa)+.5;Lb=ka(ea+ma)+.5;Ab=ka(Da-2)+.5;La=ka(Da+2)+.5;Ja=ka(Da)+.5;w=ea-ob/2;$a=ka(w-Xa)+.5;w=ka(w)+.5;ia=Da-Xa/2;Xa=ka(ia+Xa)+.5;ia=ka(ia)+.5;Ea/=2;ob=["M",E,D,"L",S,D,S,Ab,Lb,Ja,S,La,S,Ka,E,Ka,"Z","M",$a,ia,"L",w,ia,"M",$a,Ja,"L",w,Ja,"M",$a,Xa,"L",
w,Xa];Xa=["M",E+1,D,"L",E+1,Ka,"M",$a,ia-1,"L",w,ia-1,"M",$a,Ja-1,"L",w,Ja-1,"M",$a,Xa-1,"L",w,Xa-1];ia=ea+ma+y;Ka=ka(ia+ga)+nb;ia=ka(ia)+nb;Ja=ea+Z;$a=L-1;for(ga=0;ga<L;ga+=1)Z=aa[ga],S=(Z.maxvalue-hb)/fb,La=Ca*S+Da,y=ka(La)+nb,ga?(r.ratio+=G,r.color+=G,r.alpha+=G,xa.push("L",ia,y,Ka,y,"M",ia,y),ga===$a?(w=Nb,y=La+2):(w=lb,y=La)):(xa.push(ia,y,"L",Ka,y,"M",ia,y),w=Ta,y=La-2),r.ratio+=100*(S-Ma),r.color+=Oa(Z.code,A),r.alpha+=Oa(Z.alpha,100),Ma=S,Z.legendItem=C.text(g).attr({text:Z.label,x:Ja,y:y,
"text-anchor":w,"vertical-align":lb}).rotate(Ga,Ja,y).css(Sa),Z.legendSymbol=C.text(g).attr({text:Z.scaleLabel,x:Ka,y:La,"text-anchor":Ta,"vertical-align":lb}).css(Sa);Ha.xMin=Aa.xMin=0;Ha.xMax=Aa.xMax=0;Ha.yMin=Aa.yMin=0;Ha.yMax=Aa.yMax=Ca;Ha.x=Aa.x=0;Ha.y=0;Aa.y=Ca;aa=zb+ma;L=sb}else{Ha.tooltipPos[1]=Aa.tooltipPos[1]=w+D;E=ka(ea-ob)+.5;S=ka(ea+ob)+.5;D=ka(Da-zb)+.5;Ka=ka(Da+Ca)+.5;Lb=ka(ea-2)+.5;w=ka(ea+2)+.5;$a=ka(ea)+.5;Ab=ka(Da)+.5;La=Da-Xa/2;Ja=ka(La-Xa)+.5;La=ka(La)+.5;Ga=ea-ob/2;Z=ka(Ga+ob)+
.5;Ga=ka(Ga)+.5;Fa/=2;ob=["M",E,D,"L",S,D,S,Ab,w,Ab,$a,Ka,Lb,Ab,E,Ab,"Z","M",Ga,Ja,"L",Ga,La,"M",$a,Ja,"L",$a,La,"M",Z,Ja,"L",Z,La];Xa=["M",E,D+1,"L",S,D+1,"M",Ga-1,Ja,"L",Ga-1,La,"M",$a-1,Ja,"L",$a-1,La,"M",Z-1,Ja,"L",Z-1,La];y=Da+Ca+y;Ga=ka(y+ga)+nb;y=ka(y)+nb;La=Da+ia;$a=L-1;for(ga=0;ga<L;ga+=1)Z=aa[ga],S=(Z.maxvalue-hb)/fb,Ka=ma*S+ea,ia=ka(Ka)+nb,ga?(r.ratio+=G,r.color+=G,r.alpha+=G,xa.push("L",ia,y,ia,Ga,"M",ia,y),ga===$a?(w=Ta,ia=Ka+2):(w=lb,ia=Ka)):(xa.push(ia,y,"L",ia,Ga,"M",ia,y),w=Nb,ia=
Ka-2),r.ratio+=100*(S-Ma),r.color+=Oa(Z.code,A),r.alpha+=Oa(Z.alpha,100),Ma=S,Z.legendItem=C.text(g).attr({text:Z.label,x:ia,y:La,"text-anchor":w,"vertical-align":lb}).css(Sa),Z.legendSymbol=C.text(g).attr({text:Z.scaleLabel,x:Ka,y:Ga,"text-anchor":lb,"vertical-align":ha}).css(Sa);Ha.xMin=Aa.xMin=0;Ha.xMax=Aa.xMax=ma;Ha.yMin=Aa.yMin=0;Ha.yMax=Aa.yMax=0;Ha.y=Aa.y=0;Ha.x=0;Aa.x=ma;aa=sb;L=zb+Ca}J.colorBox=C.rect(Cb).attr({x:ea,y:Da,width:ma,height:Ca,fill:ib(Ya),stroke:kb,strokeWidth:Jb});Va&&(J.colorBoxEffect=
C.rect(Cb).attr({x:ea,y:Da,width:Ea,height:Fa,fill:Zb,"stroke-width":0}));J.scale=C.path(g).attr({path:xa,stroke:Eb,"stroke-width":Kb});Bb=function(d,a,c,e,f){var p;cb?(p=a*fb/Ca+hb,e=0<a?e:e+a+.01):(p=d*fb/ma+hb,c=0<d?c:c+d+.01);d=yb(p);f?(J.slider1.translate(c,e),J.slider1Effect.translate(c,e),J.slider1Tracker.toFront().translate(c,e).tooltip(d,null,null,!0),ab=p):(J.slider2.translate(c,e),J.slider2Effect.translate(c,e),J.slider2Tracker.toFront().translate(c,e).tooltip(d,null,null,!0),bb=p);eb&&
(b=clearTimeout(b),b=setTimeout(function(){h.setScaleRange&&h.setScaleRange(ab,bb)},100))};Va=function(b,a){var c=0,e=c,f,p=this.isFirst,l=p?Aa:Ha;if(cb){e=this._startY+a;0>=e&&(e=0);e>Ca&&(e=Ca);if(p?e>l.y:e<l.y)e=l.y;sa(e-this.y)>=(this.snapPX||0)&&(f=!0)}else{c=this._startX+b;0>=c&&(c=0);c>ma&&(c=ma);if(p?c>l.x:c<l.x)c=l.x;sa(c-this.x)>=(this.snapPX||0)&&(f=!0)}f&&(Bb(c,e,c-this.x,e-this.y,p),this.x=c,this.y=e)};Ea=function(){var b=this.isFirst;this._startX=this.x;this._startY=this.y;this._scaleStart=
ab;this._scaleEnd=bb;u.raiseEvent("LegendPointerDragStart",{pointerIndex:b?0:1,pointers:[{value:ab},{value:bb}],legendPointerHeight:zb,legendPointerWidth:sb},h.logic.chartInstance)};Fa=function(){var b=this._scaleStart,a=this._scaleEnd;u.raiseEvent("LegendPointerDragStop",{pointerIndex:this.isFirst?0:1,pointers:[{value:ab},{value:bb}],legendPointerHeight:zb,legendPointerWidth:sb},h.logic.chartInstance);b===ab&&a===bb||u.raiseEvent("LegendRangeUpdated",{previousMinValue:b,previousMaxValue:a,minValue:ab,
maxValue:bb},h.logic.chartInstance);delete this._scaleStart;delete this._scaleEnd};Ya=yb(hb);J.slider1=C.path(g).attr({path:ob,fill:da,strokeWidth:1,stroke:Pa});J.slider1Effect=C.path(g).attr({path:Xa,fill:"none",strokeWidth:1,stroke:Ob});rb&&(E-=.5*(Qa(30,aa)-aa),D-=.5*(Qa(40,L)-L),aa=Qa(30,aa),L=Qa(40,L));J.slider1Tracker=C.rect(g).attr({ishot:!0,width:aa,height:L,x:E,y:D,fill:ac,stroke:"none"}).drag(Va,Ea,Fa,Ha,Ha,Ha).tooltip(Ya,null,null,!0).css(I);Ya=yb(U);J.slider2=C.path(g).attr({path:ob,fill:da,
strokeWidth:1,stroke:Pa}).translate(Aa.x,Aa.y);J.slider2Effect=C.path(g).attr({path:Xa,fill:"none",strokeWidth:1,stroke:Ob}).translate(Aa.x,Aa.y);J.slider2Tracker=C.rect(g).attr({ishot:!0,width:aa,height:L,x:E,y:D,fill:ac,stroke:"none"}).translate(Aa.x,Aa.y).css(I).drag(Va,Ea,Fa,Aa,Aa,Aa).tooltip(Ya,null,null,!0)}}}]);
FusionCharts.register("module",["private","modules.renderer.js-powercharts",function(){function eb(b,d,a){var c=b.fcObj;D.hcLib.createChart(c,b.container,b.type,void 0,void 0,!1,!0);u.raiseEvent("chartUpdated",I({sourceEvent:a},d),c,[c.id])}function kb(b,d,a,c,e,f){var p=Ra.atan((d-c)/(b-a)),l=[];0>p&&(p=2*Ra.PI+p);if(c>d){if(a>=b&&p>Ra.PI||a<b&&p>Ra.PI)p-=Ra.PI}else if(a>=b&&p<Ra.PI&&0!==p||a<b&&p<Ra.PI)p+=Ra.PI;"undefined"==typeof f?(a=b+e*wa(p),e=d+e*qb(p)):(e=S(e)/2,f=S(f)/2,a=b+(e=b<a?e:-e),
e=d+e*Ra.tan(p),S(d-e)>S(f)&&(e=d+(f=d<c?f:-f),a=b+f/Ra.tan(p)));l.push("L",a,e,a+10*wa(p+.79),e+10*qb(p+.79),"M",a+10*wa(p-.79),e+10*qb(p-.79),"L",a,e);return l}function fb(b,d){var a;d._origAttr||(d._origAttr={});for(a in b)ac.test(a)||(d._origAttr[a]=b[a]);return d._origAttr}var D=this,u=D.hcLib,ga=u.Raphael,Sa=D.window,Ua=Sa.document,A=u.BLANKSTRING,Zb=u.createTrendLine,cb=u.parseTooltext,h=u.pluck,C=u.getValidValue,g=u.pluckNumber,aa=u.getFirstValue,Jb=u.getDefinedColor,G=u.parseUnsafeString,
fa=u.FC_CONFIG_STRING,I=u.extend2,Ba=u.getDashStyle,ha=u.toRaphaelColor,lb=u.toPrecision,Ta=u.hasSVG,Nb=u.createContextMenu,$b=u.isIE,mb=u.regex.dropHash,Oa=u.HASHSTRING,Pa=function(b,d){var a;b||(b={});for(a in d)b[a]=d[a];return b},ib=u.each,rb=u.addEvent,ka=u.removeEvent,Qa=u.getTouchEvent,U=function(b){return void 0!==b&&null!==b},sa="rgba(192,192,192,"+($b?.002:1E-6)+")",da=u.TOUCH_THRESHOLD_PIXELS,Ia=u.CLICK_THRESHOLD_PIXELS,yb=8===Sa.document.documentMode?"visible":"",ac=/^_/,Eb=u.BGRATIOSTRING,
Ra=Math,qb=Ra.sin,wa=Ra.cos,ra=Ra.round,E=Ra.min,Za=Ra.max,S=Ra.abs,w=Ra.PI,jc=Ra.ceil,Yb=Ra.floor,Ac=Ra.sqrt,L=Ra.pow,Z=w/180,uc=2*w,gb=u.hasTouch,bc=gb?da:Ia,cc=u.graphics.getColumnColor,J=u.getFirstColor,kc=u.setLineHeight,Ka=u.pluckFontSize,La=u.pluckColor,hb=u.getFirstAlpha,lc=u.graphics.getDarkColor,ia=u.graphics.getLightColor,y=u.graphics.convertColor,Ma=u.COLOR_TRANSPARENT,Va=u.POSITION_CENTER,Ea=u.POSITION_TOP,Fa=u.POSITION_BOTTOM,ma=u.POSITION_RIGHT,Ca=u.POSITION_LEFT,Ya=u.bindSelectionEvent,
r=u.chartAPI,ea=u.graphics.mapSymbolName,Ia=r.singleseries,Da=u.COMMASTRING,Ja=u.ZEROSTRING,Ga=u.HUNDREDSTRING,$c=u.COMMASPACE,dc=u.getMouseCoordinate,da=!/fusioncharts\.com$/i.test(Sa.location.hostname),xa=u.plotEventHandler,ad=D.xssEncode,Kb=u.SHAPE_RECT,nb=u.deltend,w=u.graphics,sb=w.parseColor,zb=w.getValidColor,ob=u.placeHorizontalAxis,Xa=u.placeVerticalAxis,Lb=u.stepYAxisNames,$a=u.adjustHorizontalCanvasMargin,Ab=u.adjustVerticalCanvasMargin,Ob=u.getDataParser,Bb={pageX:0,pageY:0},Ha,Aa,ab,
bb=function(){this.data("move",!1);clearTimeout(this._longpressactive);delete this._longpressactive},Cb=u.createElement;u.eventList.chartupdated="FC_ChartUpdated";u.eventList.dataposted="FC_DataPosted";u.eventList.dataposterror="FC_DataPostError";u.eventList.datarestored="FC_DataRestored";D.addEventListener("rendered",function(b){b=b.sender;var d=b.__state,a=b.jsVars&&b.jsVars.instanceAPI;!d.listenersAdded&&a&&"function"===typeof a.getCollatedData&&(b.addEventListener(["chartupdated","dataupdated",
"rendered"],function(a){delete a.sender.__state.hasStaleData}),d.listenersAdded=!0)});r("spline",{friendlyName:"Spline Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"spline",rendererId:"spline"},r.linebase);r("splinearea",{friendlyName:"Spline Area Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"areaspline",anchorAlpha:"100",rendererId:"spline"},r.area2dbase);r("msspline",{friendlyName:"Multi-series Spline Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"spline",rendererId:"spline"},
r.mslinebase);r("mssplinedy",{friendlyName:"Multi-series Dual Y-Axis Spline Chart",standaloneInit:!0,creditLabel:da,isDual:!0,series:r.mscombibase.series,secondarySeriesType:"spline",secondarySeriesFilter:{spline:!0},defaultSeriesFilter:{spline:!0}},r.msspline);r("mssplinearea",{friendlyName:"Multi-series Spline Area Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"areaspline",rendererId:"spline"},r.msareabase);r("msstepline",{friendlyName:"Multi-series Step Line Chart",standaloneInit:!0,
creditLabel:da,defaultSeriesType:"line",rendererId:"cartesian",stepLine:!0},r.mslinebase);r("inversemsline",{friendlyName:"Inverted Y-Axis Multi-series Line Chart",standaloneInit:!0,creditLabel:da,inversed:!0,rendererId:"cartesian"},r.mslinebase);r("inversemsarea",{friendlyName:"Inverted Y-Axis Multi-series Area Chart",standaloneInit:!0,creditLabel:da,inversed:!0,rendererId:"cartesian"},r.msareabase);r("inversemscolumn2d",{friendlyName:"Inverted Y-Axis Multi-series Column Chart",standaloneInit:!0,
creditLabel:da,inversed:!0,rendererId:"cartesian"},r.mscolumn2dbase);r("logmsline",{friendlyName:"Multi-series Log Line Chart",standaloneInit:!0,isValueAbs:!0,isLog:!0,configureAxis:r.logbase.configureAxis,pointValueWatcher:r.logbase.pointValueWatcher,getLogAxisLimits:r.logbase.getLogAxisLimits,creditLabel:da,rendererId:"cartesian"},r.mslinebase);r("logmscolumn2d",{friendlyName:"Multi-series Log Column Chart",standaloneInit:!0,isLog:!0,isValueAbs:!0,configureAxis:r.logbase.configureAxis,pointValueWatcher:r.logbase.pointValueWatcher,
getLogAxisLimits:r.logbase.getLogAxisLimits,creditLabel:da,rendererId:"cartesian"},r.mscolumn2dbase);r("logstackedcolumn2d",{friendlyName:"Stacked Log Column Chart",standaloneInit:!0,creditLabel:da,isStacked:!0},r.logmscolumn2d);r("errorbar2d",{friendlyName:"Error Bar Chart",standaloneInit:!0,creditLabel:da,showValues:0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,chart:function(){var b=this.base.chart.apply(this,arguments),d=this.drawErrorValue;b.callbacks||(b.callbacks=[]);b.callbacks.push(function(){for(var a=
this.elements.plots,b=this.dataset||this.options.series,e=a&&a.length;e--;)b[e]&&d.call(this,a[e],b[e])});return b},point:function(b,d,a,c,e,f,p,l,t){b=g(c.ignoreemptydatasets,0);var m=!1,q=!g(c.halferrorbar,1),k=e[fa],n=h(this.isValueAbs,k.isValueAbs,!1),s=g(a.showvalues,k.showValues),z=g(d.yAxis,0),X=g(c.use3dlighting,1),M=e[fa].numberFormatter,x=this.colorManager,v=g(c.useplotgradientcolor,1)?Jb(c.plotgradientcolor,x.getColor("plotGradientColor")):A,qa=h(a.alpha,c.plotfillalpha,"100"),B=hb(h(a.errorbaralpha,
c.errorbaralpha,qa)),Db=g(a.dashed,c.plotborderdashed,0),va=g(a.dashlen,c.plotborderdashlen,5),F=g(a.dashgap,c.plotborderdashgap,4),r=h(d.type,this.defaultSeriesType),H=e.plotOptions[r]&&e.plotOptions[r].stacking,r=x.getPlotColor(),Y,K,na,u,pa,Rb,P,V,O,N,ca,W,Q,w,T,$;this.errorBarShadow=g(c.errorbarshadow);d.errorBar2D=!0;d.name=C(a.seriesname);H||(d.columnPosition=g(t,l,p));if(0===g(a.includeinlegend)||0===qa||void 0===d.name)d.showInLegend=!1;d.errorBarWidthPercent=g(a.errorbarwidthpercent,c.errorbarwidthpercent,
70);d.errorBarColor=y(J(h(a.errorbarcolor,c.errorbarcolor,"AAAAAA")),B);d.errorBarThickness=g(a.errorbarthickness,c.errorbarthickness,1);d.color=h(a.color,r).split(",")[0].replace(/^#?/g,"#");if(p=a.data)for(W=h(c.plotborderthickness,"1"),H=e.chart.useRoundEdges,t=this.isBar,l=/3d$/.test(e.chart.defaultSeriesType),w=h(c.plotbordercolor,x.getColor("plotBorderColor")).split(",")[0],T="0"==c.showplotborder?"0":h(c.plotborderalpha,"100"),T=l?c.showplotborder?T:"0":T,w=l?h(c.plotbordercolor,"#FFFFFF"):
w,x=0;x<f;x+=1)(K=p[x])?(V=M.getCleanValue(K.value,n),O=M.getCleanValue(K.errorvalue,n),null===V?d.data.push({y:null}):(m=!0,P=k.oriCatTmp[x],u=h(K.color,a.color,r),pa=hb(h(K.alpha,qa))+A,Y=h(K.ratio,a.ratio,c.plotfillratio),na=h(360-c.plotfillangle,90),0>V&&(na=360-na),N={opacity:pa/100},Q=E(pa,hb(T))+A,Rb=cc(u+","+v,pa,Y,na,H,w,Q,t,l),ca={opacity:B/250},$=this.getPointStub(K,V,P,e,a,s,z,O),P=[],P.push({errorValue:O,toolText:$._errortoolText,shadow:ca}),q&&P.push({errorValue:-O,toolText:$._errortoolText,
shadow:ca}),Y=this.pointHoverOptions(K,d,{plotType:"column",is3d:l,isBar:t,use3DLighting:X,isRoundEdged:H,color:u,gradientColor:v,alpha:pa,ratio:Y,angle:na,borderWidth:W,borderColor:w,borderAlpha:Q,borderDashed:Db,borderDashGap:F,borderDashLen:va,shadow:N}),d.data.push(I($,{y:V,shadow:N,errorValue:P,color:Rb[0],borderColor:Rb[1],borderWidth:W,use3DLighting:X,dashStyle:g(K.dashed,Db)?Ba(h(K.dashlen,va),h(K.dashgap,F),W):void 0,hoverEffects:Y.enabled&&Y.options,rolloverProperties:Y.enabled&&Y.rolloverOptions})),
this.pointValueWatcher(e,V,O))):d.data.push({y:null});b&&!m&&(d.showInLegend=!1);return d},pointValueWatcher:function(b,d,a){var c=b[fa];null!==d&&(a?(b=d+a,d-=a):b=d,c[0]||(c[0]={}),a=c[0],a.max=a.max>b?a.max:b,a.min=a.min<b?a.min:b,a.max=a.max>d?a.max:d,a.min=a.min<d?a.min:d)},drawErrorValue:function(b,d){var a=this,c=a.options,e=c.plotOptions.series,f=c[fa],f=a.smartLabel||f.smartLabel,p=a.paper,l=a.layers,t=a.xAxis[0],m=a.yAxis[0],h=isNaN(+e.animation)&&e.animation.duration||1E3*e.animation,k=
l.dataset=l.dataset||p.group("dataset-orphan"),n=b.errorGroup=p.group("errorBar").insertAfter(b.lineLayer||k.column||k),s=l.errorTracker||(l.errorTracker=p.group("hot-error",l.tracker||k).toBack()),z=k.errorValueGroup||(k.errorValueGroup=p.group("errorValues")),X=d.errorBar2D,M=d.data||[],x=M.length,v=b.items,qa=!1!==(c.tooltip||{}).enabled,B,Db,va,F,r=b.graphics=b.graphics||[],H=!1===d.visible?"hidden":"visible",Y=c.chart,K=Y.valuePadding||0,Y=1==Y.rotateValues?270:void 0,na=d.columnPosition||0,
u=a.definition.chart,pa=t.getAxisPosition(0),y=t.getAxisPosition(1)-pa,P=e.groupPadding,V=e.maxColWidth,pa=d.numColumns||1,y=(1-.01*(u&&u.plotspacepercent))*y||E(y*(1-2*P),V*pa),u=y/pa,na=na*u-y/2,pa=a.logic,y=!pa.avoidCrispError,P=a.canvasHeight+a.canvasTop,O=l.shadows||(l.shadows=p.group("shadows",k).toBack()),l={},V=c.plotOptions.series.dataLabels.style,N=a.chartWidth,ca=a.chartHeight,W={fontFamily:V.fontFamily,fontSize:V.fontSize,lineHeight:V.lineHeight,fontWeight:V.fontWeight,fontStyle:V.fontStyle},
Q,w,T,$,C,G,I,ba,J,D,ja,oa,la,ta,fc,ya,ha,S,ua,za,tb=function(b){xa.call(this,a,b)},L=function(b){xa.call(this,a,b,"DataPlotRollOver")},Z=function(b){xa.call(this,a,b,"DataPlotRollOut")},Cc=function(b){return function(){void 0!==b&&a.linkClickFN.call({link:b},a)}},da=function(){n.show();z.attr({transform:"...t"+-N+","+-ca});O.show()};if(0<x){for(;x--;)if(B=M[x],c=g(B.errorStartValue,B.y),oa=B.errorValue,k=B.link,void 0!==c&&oa&&(fc=oa.length)){B=g(B.x,x);F=m.getAxisPosition(c);va=t.getAxisPosition(B);
X&&(na&&(va+=na),u&&(va+=u/2));D=v[x]||(v[x]={});D.errorBars=D.errorBars||[];D.errorValues=D.errorValues||[];D.trackerBars=D.trackerBars||[];for(w=(Q=D.tracker||D.graphic)&&Q.data("groupId");fc--;)ua=ya=za=null,la=oa[fc],J=la.errorStartValue,Db=la.tooltext||la.toolText,C=isNaN(J)?F:m.getAxisPosition(J),T=la.displayValue,ta=la.errorValue,la&&U(ta)&&($=g(la.isHorizontal,0),S=g(la.errorBarThickness,d.errorBarThickness,1),ya=g(u*d.errorBarWidthPercent/100,la.errorWidth,$?d.hErrorBarWidth:d.vErrorBarWidth,
d.errorBarWidth),ha=ya/2,ya=la.errorBarColor||d.errorBarColor,U(T)&&T!==A&&(za=p.text(z).attr({text:T,fill:V.color,"text-bound":[V.backgroundColor,V.borderColor,V.borderThickness,V.borderPadding,V.borderRadius,V.borderDash]}).css(W),f.setStyle(W),l=f.getOriSize(T)),$?(T=ja=J=t.getAxisPosition(B+ta),$=va,y&&(T=ra(C)+S%2/2,$=ra(ja)+S%2/2),C=["M",va,T,"H",$,"M",$,T-ha,"V",T+ha]):(T=ja=J=m.getAxisPosition((J||c)+ta),$=va,y&&(T=ra(ja)+S%2/2,$=ra(va)+S%2/2),ba=.5*(Y?l.width:l.height),G=ja+.5*S+K+ba,I=ja-
.5*S-K-ba,C>ja?(J=I,I-a.canvasTop<ba&&(J=G)):(J=G,P-G<ba&&(J=I)),C=["M",$,C,"V",T,"M",$-ha,T,"H",$+ha]),ya=p.path(C,n).attr({stroke:ya,"stroke-width":S,cursor:k?"pointer":"","stroke-linecap":"round",visibility:H}).shadow(g(pa.errorBarShadow,e.shadow)&&0<S&&la.shadow,O),(k||qa)&&S<bc&&(ua=p.path(C,s).attr({stroke:sa,"stroke-width":bc,cursor:k?"pointer":"",ishot:!!k,visibility:H})),ua=ua||ya,ua.data("eventArgs",Q&&Q.data("eventArgs")||{link:k,toolText:Db,displayValue:la.displayValue,value:ta}),ua.click(tb).data("groupId",
w).hover(L,Z).tooltip(Db),(k||qa)&&ua.click(Cc(k)),za&&(za.attr({x:va,y:J,title:la.originalText||"",visibility:H}).css(W),Y&&za.attr("transform","T0,0,R"+Y)),ya&&(r.push(ya),D.errorBars.push(ya)),za&&(r.push(za),D.errorValues.push(za)),ua&&ua!==ya&&(r.push(ua),D.trackerBars.push(ua)));h&&(n.hide(),z.attr({transform:"...t"+N+","+ca}),O.hide(),setTimeout(da,h))}b.visible=!1!==d.visible}}},r.mscolumn2dbase);r("errorline",{friendlyName:"Error Line Chart",standaloneInit:!0,creditLabel:da,chart:r.errorbar2d.chart,
drawErrorValue:r.errorbar2d.drawErrorValue,useErrorGroup:!0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,canvasPaddingModifiers:["anchor","errorbar"],point:function(b,d,a,c,e,f){b=g(c.ignoreemptydatasets,0);var p=!1,l=!g(c.halferrorbar,1),t=e[fa],m=h(this.isValueAbs,t.isValueAbs,!1),q=g(a.showvalues,t.showValues),k=g(d.yAxis,0),n=this.numberFormatter,s=this.colorManager,z=J(h(a.color,c.linecolor,s.getPlotColor())),X=e.chart,M=g(a.alpha,c.linealpha,"100"),x=g(a.errorbaralpha,c.errorbaralpha,
M),v=g(a.linethickness,c.linethickness,2),qa=Boolean(g(a.dashed,c.linedashed,0)),B=g(a.linedashlen,c.linedashlen,5),Db=g(a.linedashgap,c.linedashgap,4),va,F,u,H,Y,K,na,ec,pa,w,P,V,O,N,ca,W,Q,G,T,$,D,Bc,S,ba,ha,U,ja,oa,la,ta;this.errorBarShadow=g(c.errorbarshadow);d.name=C(a.seriesname);d.color={FCcolor:{color:z,alpha:M}};d.lineWidth=v;na=g(a.drawanchors,a.showanchors,c.drawanchors,c.showanchors);T=g(a.anchorsides,c.anchorsides,0);$=g(a.anchorradius,c.anchorradius,3);D=J(h(a.anchorbordercolor,c.anchorbordercolor,
z));Bc=g(a.anchorborderthickness,c.anchorborderthickness,1);S=J(h(a.anchorbgcolor,c.anchorbgcolor,s.getColor("anchorBgColor")));ba=h(a.anchoralpha,c.anchoralpha,"100");ha=h(a.anchorbgalpha,c.anchorbgalpha,ba);U=g(a.anchorstartangle,c.anchorstartangle,90);s=d.anchorShadow=g(c.anchorshadow,0);d.errorBarWidth=g(c.errorbarwidth,a.errorbarwidth,5);d.errorBarColor=y(J(h(a.errorbarcolor,c.errorbarcolor,"AAAAAA")),x);d.errorBarThickness=E(v,g(a.errorbarthickness,c.errorbarthickness,1));if(0===g(a.includeinlegend)||
void 0===d.name||0===M&&1!==na)d.showInLegend=!1;d.marker={fillColor:{FCcolor:{color:S,alpha:ha*ba/100+A}},lineColor:{FCcolor:{color:D,alpha:ba+A}},lineWidth:Bc,radius:$,symbol:ea(T),startAngle:U};if(c=a.data)for(H=0;H<f;H+=1)(ca=c[H])?(F=n.getCleanValue(ca.value,m),u=n.getCleanValue(ca.errorvalue,m),null===F?d.data.push({y:null}):(p=!0,N=g(ca.anchorsides,T),O=g(ca.anchorradius,$),P=J(h(ca.anchorbordercolor,D)),V=g(ca.anchorborderthickness,Bc),w=J(h(ca.anchorbgcolor,S)),ec=h(ca.anchoralpha,ba),pa=
h(ca.anchorbgalpha,ha),Y=J(h(ca.color,z)),K=h(ca.alpha,M),oa=g(ca.dashed,qa)?Ba(B,Db,v):void 0,W={opacity:K/100},ja=void 0===na?0!==K:!!na,va=t.oriCatTmp[H],ta=this.getPointStub(ca,F,va,e,a,q,k,u),la=[],la.push({errorValue:u,toolText:ta._errortoolText,shadow:{opacity:x/250}}),l&&la.push({errorValue:null===u?null:-u,toolText:ta._errortoolText,shadow:{opacity:x/250}}),Q=h(ca.anchorstartangle,U),G=Boolean(g(ca.anchorshadow,s,0)),va=this.pointHoverOptions(ca,d,{plotType:"anchor",anchorBgColor:w,anchorAlpha:ec,
anchorBgAlpha:pa,anchorAngle:Q,anchorBorderThickness:V,anchorBorderColor:P,anchorBorderAlpha:ec,anchorSides:N,anchorRadius:O,shadow:W}),d.data.push(I(ta,{y:F,shadow:W,dashStyle:oa,errorValue:la,valuePosition:h(ca.valueposition,X.valuePosition),color:{FCcolor:{color:Y,alpha:K}},marker:{enabled:ja,shadow:G&&{opacity:ec/100},fillColor:{FCcolor:{color:w,alpha:pa*ec/100+A}},lineColor:{FCcolor:{color:P,alpha:ec}},lineWidth:V,radius:O,symbol:ea(N),startAngle:Q},hoverEffects:va.enabled&&va.options,rolloverProperties:va.enabled&&
va.rolloverOptions})),r.errorbar2d.pointValueWatcher(e,F,u))):d.data.push({y:null});b&&!p&&(d.showInLegend=!1);return d}},r.mslinebase);r("errorscatter",{friendlyName:"Error Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:da,chart:r.errorbar2d.chart,drawErrorValue:r.errorbar2d.drawErrorValue,defaultZeroPlaneHighlighted:!1,useErrorGroup:!0,rendererId:"cartesian",isErrorChart:!0,fireGroupEvent:!0,point:function(b,d,a,c,e,f,p){b=g(c.ignoreemptydatasets,0);f=!1;var l=g(a.drawline,0),t=g(a.drawprogressioncurve,
0),m,q,k=g(a.showvalues,e[fa].showValues),n=this.numberFormatter,s=g(a.showregressionline,c.showregressionline,0),z=h(c.errorbarcolor,"AAAAAA"),X=h(c.errorbaralpha,"100"),M=g(c.errorbarthickness,1);q=g(c.errorbarwidth,5);var x=g(c.halfverticalerrorbar,1),v=g(a.verticalerrorbaralpha,a.errorbaralpha,c.verticalerrorbaralpha,X),qa=y(h(a.verticalerrorbarcolor,a.errorbarcolor,c.verticalerrorbarcolor,z),v),B=g(a.verticalerrorbarthickness,a.errorbarthickness,c.verticalerrorbarthickness,M),Db=g(c.halfhorizontalerrorbar,
1),X=h(a.horizontalerrorbaralpha,a.errorbaralpha,c.horizontalerrorbaralpha,X),z=y(h(a.horizontalerrorbarcolor,a.errorbarcolor,c.horizontalerrorbarcolor,z),X),M=g(a.horizontalerrorbarthickness,a.errorbarthickness,c.horizontalerrorbarthickness,M),va=g(a.usehorizontalerrorbar,c.usehorizontalerrorbar,0),F=g(a.useverticalerrorbar,c.useverticalerrorbar,1),r={sumX:0,sumY:0,sumXY:0,sumXsqure:0,sumYsqure:0,xValues:[],yValues:[]};m=this.colorManager;var H=m.getPlotColor(),Y,K,u,w,pa,G,P,V,O,N,ca,W,Q,E,T,$,
D,I,S,ba,ha,U,ja,oa;this.errorBarShadow=g(c.errorbarshadow);d.zIndex=1;d.name=C(a.seriesname);if(0===g(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;d.vErrorBarWidth=g(a.verticalerrorbarwidth,a.errorbarwidth,c.verticalerrorbarwidth,q);d.hErrorBarWidth=g(a.horizontalerrorbarwidth,a.errorbarwidth,c.horizontalerrorbarwidth,q);if(l||t)t&&(d.type="spline"),K=J(h(a.color,H)),l=h(a.alpha,Ga),t=g(a.linethickness,c.linethickness,2),q=Boolean(g(a.linedashed,a.dashed,c.linedashed,0)),u=g(a.linedashlen,
c.linedashlen,5),w=g(a.linedashgap,c.linedashgap,4),d.color=y(h(a.linecolor,c.linecolor,K),g(a.linealpha,c.linealpha,l)),d.lineWidth=t,d.dashStyle=q?Ba(u,w,t):void 0;l=Boolean(g(a.drawanchors,a.showanchors,c.drawanchors,c.showanchors,1));p=g(a.anchorsides,c.anchorsides,p+3);t=g(a.anchorradius,c.anchorradius,3);K=J(h(a.anchorbordercolor,a.color,c.anchorbordercolor,K,H));H=g(a.anchorborderthickness,c.anchorborderthickness,1);w=J(h(a.anchorbgcolor,c.anchorbgcolor,m.getColor("anchorBgColor")));G=h(a.anchoralpha,
a.alpha,c.anchoralpha,"100");P=h(a.anchorbgalpha,c.anchorbgalpha,G);u=h(a.anchorstartangle,c.anchorstartangle);d.anchorShadow=g(c.anchorshadow,0);d.marker={fillColor:this.getPointColor(w,"100"),lineColor:{FCcolor:{color:K,alpha:G+A}},lineWidth:H,radius:t,symbol:ea(p)};if(m=a.data){q=m.length;s&&(d.events={hide:this.hideRLine,show:this.showRLine},ha=g(a.showyonx,c.showyonx,1),U=J(h(a.regressionlinecolor,c.regressionlinecolor,K)),ja=g(a.regressionlinethickness,c.regressionlinethickness,H),c=hb(g(a.regressionlinealpha,
c.regressionlinealpha,G)),U=y(U,c));for(Y=0;Y<q;Y+=1)(pa=m[Y])?(c=n.getCleanValue(pa.y),T=n.getCleanValue(pa.x),n.getCleanValue(pa.errorvalue),$=n.getCleanValue(h(pa.horizontalerrorvalue,pa.errorvalue)),D=n.getCleanValue(h(pa.verticalerrorvalue,pa.errorvalue)),null===c?d.data.push({y:null,x:T}):(f=!0,I=this.getPointStub(pa,c,n.xAxis(T),e,a,k,void 0,D,$,T),V=g(pa.anchorsides,p),O=g(pa.anchorradius,t),N=J(h(pa.anchorbordercolor,K)),ca=g(pa.anchorborderthickness,H),W=J(h(pa.anchorbgcolor,w)),Q=h(pa.anchoralpha,
pa.alpha,G),E=h(pa.anchorbgalpha,P),S=Boolean(g(pa.usehorizontalerrorbar,va)),ba=Boolean(g(pa.useverticalerrorbar,F)),oa=[],S&&(S=I._hErrortoolText,oa.push({errorValue:$,toolText:S,errorBarColor:z,isHorizontal:1,errorBarThickness:M,shadow:{opacity:X/250}}),Db||oa.push({errorValue:-$,toolText:S,errorBarColor:z,isHorizontal:1,errorBarThickness:M,shadow:{opacity:X/250}})),ba&&(ba=I._errortoolText,oa.push({errorValue:D,toolText:ba,errorBarColor:qa,errorBarThickness:B,shadow:{opacity:v/250}}),x||oa.push({errorValue:-D,
toolText:ba,errorBarColor:qa,errorBarThickness:B,shadow:{opacity:v/250}})),ba=this.pointHoverOptions(pa,d,{plotType:"anchor",anchorBgColor:W,anchorAlpha:Q,anchorBgAlpha:E,anchorAngle:u,anchorBorderThickness:ca,anchorBorderColor:N,anchorBorderAlpha:Q,anchorSides:V,anchorRadius:O}),d.data.push({y:c,x:T,errorValue:oa,displayValue:I.displayValue,toolText:I.toolText,link:I.link,marker:{enabled:l,shadow:void 0,fillColor:{FCcolor:{color:W,alpha:E*Q/100+A}},lineColor:{FCcolor:{color:N,alpha:Q}},lineWidth:ca,
radius:O,symbol:ea(V),startAngle:h(pa.anchorstartangle,u)},hoverEffects:ba.enabled&&ba.options,rolloverProperties:ba.enabled&&ba.rolloverOptions}),this.pointValueWatcher(e,x?c:c-D,Db?T:T-$,s&&r),this.pointValueWatcher(e,c+D,T+$,s&&r))):d.data.push({y:null});s&&(a=this.getRegressionLineSeries(r,ha,q),this.pointValueWatcher(e,a[0].y,a[0].x),this.pointValueWatcher(e,a[1].y,a[1].x),e={type:"line",color:U,showInLegend:!1,lineWidth:ja,enableMouseTracking:!1,marker:{enabled:!1},data:a,zIndex:0},d=[d,e])}b&&
!f&&(d.showInLegend=!1);return d}},r.scatterbase);r("waterfall2d",{friendlyName:"Waterfall Chart",standaloneInit:!0,isWaterfall:!0,creditLabel:da,point:function(b,d,a,c,e){var f,p,l,t,m,q,k,n,s,z,X,M,x,v,qa;b=h(c.connectorthickness,1);var B={step:!0,type:"line",enableMouseTracking:!1,data:[],dataLabels:{enabled:!1},marker:{enabled:!1},dashStyle:"1"===c.connectordashed?Ba(g(c.connectordashlen,2),g(c.connectordashgap,2),b):void 0,drawVerticalJoins:!1,useForwardSteps:!0,color:y(h(c.connectorcolor,"000000"),
h(c.connectoralpha,100)),lineWidth:b},r=this.colorManager,va=a.length,F=e[fa],u=F.axisGridManager,H=e.xAxis,Y=F.x,K=/3d$/.test(e.chart.defaultSeriesType),na=this.isBar,w="1"===h(c.showplotborder,K?"0":"1")?K?1:g(c.plotborderthickness,1):0,pa=e.chart.useRoundEdges,E=g(c.plotborderalpha,c.plotfillalpha,100)+A,P=h(c.plotbordercolor,r.getColor("plotBorderColor").split(",")[0]),V=g(c.useplotgradientcolor,1)?Jb(c.plotgradientcolor,r.getColor("plotGradientColor")):A,O=g(c.plotborderdashed,0),N=g(c.plotborderdashlen,
6),ca=g(c.plotborderdashgap,3),W=0,Q=Boolean(g(c.use3dlighting,1)),Na=0,T=0,$=e[fa].numberFormatter,D,I=0,J,ba=g(c.showsumatend,1);for(f=0;f<va;f+=1)n=a[f],b=$.getCleanValue(n.value),l=g(n.issum,0),n.vline||l||(I+=b,n._value=b);D=$.dataLabels(I);ba&&(ba=!0,va+=1,J={label:aa(c.sumlabel,"Total"),_value:I,value:I,issum:1,cumulative:1});for(p=f=0;f<va;f+=1)n=a[f],!n&&ba&&(n=J),n.vline?u.addVline(H,n,W,e):(b=n._value,delete n._value,l=g(n.issum,0),k=g(n.cumulative,1),l?(b=k?Na:Na===T?Na:Na-T,T=Na,B.data.push({y:null,
x:p-.5})):Na+=b,l=g(n.showlabel,c.showlabels,1),l=G(l?aa(n.label,n.name):A),u.addXaxisCat(H,W,W,l,n,{},c),W+=1,0<b?(t=h(n.color,c.positivecolor,r.getPlotColor()),d.hoverEffects&&(d.hoverEffects.color=h(n.positivehovercolor,c.positivehovercolor,c.plotfillhovercolor))):(t=h(n.color,c.negativecolor,r.getPlotColor()),d.hoverEffects&&(d.hoverEffects.color=h(n.negativehovercolor,c.negativehovercolor,c.plotfillhovercolor))),m=h(n.alpha,c.plotfillalpha,"100"),q=h(n.ratio,c.plotfillratio),s=h(360-c.plotfillangle,
90),0>b&&(s=360-s),M=h(n.alpha,E),x=g(n.dashed,O),v=h(n.dashgap,ca),qa=h(n.dashlen,N),z={opacity:m/100,inverted:na},k=cc(t+Da+V.replace(/,+?$/,""),m,q,s,pa,P,h(n.alpha,E),na,K),X=x?Ba(qa,v,w):"none",t=this.pointHoverOptions(n,d,{plotType:"column",is3d:K,isBar:na,use3DLighting:Q,isRoundEdged:pa,color:t,gradientColor:V,alpha:m,ratio:q,angle:s,borderWidth:w,borderColor:P,borderAlpha:M,borderDashed:x,borderDashGap:v,borderDashLen:qa,shadow:z}),m=C(G(n.displayvalue)),q=null===b?b:$.dataLabels(b),s=C(G(h(n.tooltext,
F.tooltext))),s=F.showTooltip?void 0!==s?cb(s,[1,2,3,5,6,7,20,21,24,25],{formattedValue:q,label:l,yaxisName:G(c.yaxisname),xaxisName:G(c.xaxisname),cumulativeValue:Na,cumulativeDataValue:$.dataLabels(Na),sum:D,unformattedSum:I},n,c):null===q?!1:l!==A?l+F.tooltipSepChar+q:q:A,m=g(n.showvalue,F.showValues)?void 0!==m?m:q:A,d.data.push({y:b,_FCY:0>b?Na-b:Na,previousY:0>b?Na:0===Na-b?void 0:Na-b,shadow:z,color:k[0],borderColor:k[1],borderWidth:w,dashStyle:X,use3DLighting:Q,hoverEffects:t.enabled&&t.options,
rolloverProperties:t.enabled&&t.rolloverOptions,displayValue:m,categoryLabel:l,toolText:s,link:h(n.link)}),B.data.push({y:b&&Na,x:p}),this.pointValueWatcher(e,Na),p+=1);Y.catCount=W;"0"!=c.showconnectors&&(d=[B,d]);return d},defaultSeriesType:"column",rendererId:"cartesian"},Ia);r("multilevelpie",{friendlyName:"Multi-level Pie Chart",standaloneInit:!0,defaultSeriesType:"multilevelpie",rendererId:"multiLevelPie",defaultPlotShadow:0,series:function(){var b=this.dataObj,d=this.hcJSON,a=b.chart,c=d.series,
e={},f=Boolean(g(a.usehovercolor,1)),p=y(h(a.hoverfillcolor,"FF5904"),g(a.hoverfillalpha,100)),l=parseInt(a.pieradius,10),t=0,m=!0;d.chart.plotBorderColor=0;d.chart.plotBackgroundColor=null;d.plotOptions.series.dataLabels.style=d.xAxis.labels.style;d.plotOptions.series.dataLabels.color=d.xAxis.labels.style.color;d.legend.enabled=!1;d.plotOptions.pie.allowPointSelect=!1;d.plotOptions.series.borderColor=y(h(a.plotbordercolor,a.piebordercolor,"FFFFFF"),"0"!=a.showplotborder?h(a.plotborderalpha,a.pieborderalpha,
100):0);d.plotOptions.series.borderWidth=g(a.pieborderthickness,a.plotborderthickness,1);d.plotOptions.pie.startingAngle=0;d.plotOptions.pie.size="100%";e.showLabels=g(a.showlabels,1);e.showValues=g(a.showvalues,0);e.showValuesInTooltip=g(a.showvaluesintooltip,a.showvalues,0);e.showPercentValues=g(a.showpercentvalues,a.showpercentagevalues,0);e.showPercentInTooltip=g(a.showpercentintooltip,0);e.toolTipSepChar=h(a.tooltipsepchar,a.hovercapsepchar,$c);e.labelSepChar=h(a.labelsepchar,e.toolTipSepChar);
e.tooltext=a.plottooltext;f&&(d.plotOptions.series.point.events={mouseOver:function(){for(var a=this,b=a.chart.plots,c,d;a;)a.graphic.attr({fill:p}),d=a.prevPointIndex,a=a.prevSeriesIndex,a=(c=b[a])&&c.items&&c.items[d]},mouseOut:function(){for(var a=this,b=a.chart.plots,c,d;a;)a.graphic.attr({fill:a.color}),d=a.prevPointIndex,a=a.prevSeriesIndex,a=(c=b[a])&&c.items&&c.items[d]}});d.chart.plotBorderWidth=0;b.category&&this.addMSPieCat(b.category,0,0,100,h(a.plotfillalpha,a.piefillalpha,100),e,null);
l=parseInt(a.pieradius,10);t=0;m=!0;l?(b=2*l/c.length,m=!1):b=parseInt(100/c.length,10);d.plotOptions.series.dataLabels.distance=0;d.plotOptions.series.dataLabels.placeLabelsInside=!0;for(d=0;d<c.length;d+=1)c[d].innerSize=t+(m?"%":""),c[d].size=(t+=b)+(m?"%":""),0===c[d].data[c[d].data.length-1].y&&c[d].data.pop()},spaceManager:function(b,d,a,c){var e=b[fa];this.titleSpaceManager(b,d,a-(e.marginLeftExtraSpace+e.marginRightExtraSpace+b.chart.marginRight+b.chart.marginLeft),.4*(c-(e.marginBottomExtraSpace+
e.marginTopExtraSpace+b.chart.marginBottom+b.chart.marginTop)))},addMSPieCat:function(b,d,a,c,e,f,p){var l=this.numberFormatter,t=this.colorManager,m,q,k=0,n=b.length-1,s,z,X;m=this.hcJSON.series;var M=f.labelSepChar,x,v,qa,B,r,va;void 0===this.colorCount&&(this.colorCount=0);0===d&&(this.colorCount=0);m[d]||(m[d]={data:[{toolText:!1,doNotSlice:!0,y:100,visible:!1,color:"rgba(255,255,255,0)"}]});m=m[d];(q=a-100+m.data[m.data.length-1].y)&&m.data.splice(m.data.length-1,0,{toolText:!1,doNotSlice:!0,
y:q,visible:!1,color:"rgba(255,255,255,0)"});m.data[m.data.length-1].y=100-c;for(z=0;z<=n;z+=1)s=b[z],s._userValue=l.getCleanValue(s.value,this.isValueAbs),s._value=g(s._userValue,1),k+=s._value;k=k||1;q=(c-a)/k;for(z=n;0<=z;z-=1)s=b[z],n=q*s._value,X=G(h(s.label,s.name)),qa=null!==s._userValue?l.dataLabels(s._userValue):A,B=l.percentValue(s._value/k*100),x=m.data.length-1,v=g(s.alpha,e),va=f.showLabels?X:A,f.showValues&&(f.showPercentValues?va+=va!==A?M+B:B:void 0!==qa&&qa!==A&&(va+=va!==A?M+qa:
qa)),r=G(h(s.tooltext,s.hovertext,f.tooltext)),r===A?(r=X,f.showValuesInTooltip&&(f.showPercentInTooltip?r+=r!==A?M+B:B:void 0!==qa&&qa!==A&&(r+=r!==A?M+qa:qa))):r=cb(r,[1,2,3,14],{percentValue:B,label:X,formattedValue:qa},s),m.data.splice(x,0,{prevPointIndex:p,prevSeriesIndex:d-1,displayValue:va,toolText:r,y:n,link:C(s.link),doNotSlice:!0,color:y(s.color||t.getPlotColor(),v),shadow:{opacity:.01*ra(50<v?v*v*v*1E-4:v*v*.01)}}),this.colorCount+=1,s.category&&this.addMSPieCat(s.category,d+1,a,0===z?
c:a+n,e,f,x),a+=n},isValueAbs:!0,creditLabel:da},Ia);r("radar",{friendlyName:"Radar Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"radar",areaAlpha:50,spaceManager:function(b,d,a,c){b.chart.plotBorderWidth=0;b.chart.plotBackgroundColor=null;var e=b[fa],f=e.x,p=b.xAxis,l=b.yAxis[0],t=d.chart,l=g(t.labelpadding,t.labelxpadding,parseInt(l&&l.labels&&l.labels.style&&l.labels.style.fontSize||10,10));a-=e.marginLeftExtraSpace+e.marginRightExtraSpace+b.chart.marginRight+b.chart.marginLeft;c-=
e.marginBottomExtraSpace+e.marginTopExtraSpace+b.chart.marginBottom+b.chart.marginTop;e=this.colorManager;c-=this.titleSpaceManager(b,d,a,.4*c);p.min=g(f.min,0);p.max=g(f.max,f.catCount-1);p.gridLineColor=y(h(t.radarspikecolor,e.getColor("divLineColor")),g(t.radarspikealpha,t.radarinlinealpha,e.getColor("divLineAlpha")));p.gridLineWidth=g(t.radarspikethickness,1);p.showRadarBorder=g(t.showradarborder,1);p.radarBorderThickness=g(t.radarborderthickness,2);p.radarBorderColor=y(h(t.radarbordercolor,e.getColor("divLineColor")),
g(t.radarborderalpha,100));p.radarFillColor=y(h(t.radarfillcolor,e.getColor("altHGridColor")),g(t.radarfillalpha,e.getColor("altHGridAlpha")));b.legend.enabled&&(h(t.legendposition,Fa).toLowerCase()!=ma?c-=this.placeLegendBlockBottom(b,d,a,c/2):a-=this.placeLegendBlockRight(b,d,a/3,c));d=g(t.radarradius);f=2*g(parseInt(p.labels.style.lineHeight,10),12);t=2*l;f=E(a-(100+t),c-(f+t));d=d||.5*f;a=E(.3*a,.3*c);d<a&&(d=a);b.chart.axisRadius=d;p.labels.labelPadding=l},anchorAlpha:"100",showValues:0,isRadar:!0,
rendererId:"radar"},r.msareabase);Ia={dragExtended:!0,defaultRestoreButtonVisible:1,spaceManager:function(b,d,a,c){var e=b[fa],f=b.chart,p=d.chart,l=e.outCanvasStyle,t=c-.3*(e.marginBottomExtraSpace+f.marginBottom+f.marginTop),m=0,q=0,e=this.smartLabel||e.smartLabel,k,n;f.formAction=C(p.formaction);f.formDataFormat=h(p.formdataformat,D.dataFormats.XML);f.formTarget=h(p.formtarget,"_self");f.formMethod=h(p.formmethod,"POST");f.submitFormAsAjax=g(p.submitformusingajax,1);f.showFormBtn=g(p.showformbtn,
1)&&f.formAction;f.formBtnTitle=h(p.formbtntitle,"Submit");f.formBtnBorderColor=h(p.formbtnbordercolor,"CBCBCB");f.formBtnBgColor=h(p.formbtnbgcolor,"FFFFFF");f.btnPadding=g(p.btnpadding,7);f.btnSpacing=g(p.btnspacing,5);f.formBtnStyle={fontSize:l.fontSize,fontFamily:l.fontFamily,fontWeight:"bold"};f.formBtnLabelFill=l.color;p.btntextcolor&&(f.formBtnLabelFill=p.btntextcolor.replace(mb,Oa));0<=(l=g(p.btnfontsize))&&(f.formBtnStyle.fontSize=l+"px");kc(f.formBtnStyle);f.showRestoreBtn=g(p.showrestorebtn,
this.defaultRestoreButtonVisible,1);f.showRestoreBtn&&(f.restoreBtnTitle=h(p.restorebtntitle,"Restore"),f.restoreBtnBorderColor=h(p.restorebtnbordercolor,f.formBtnBorderColor),f.restoreBtnBgColor=h(p.restorebtnbgcolor,f.formBtnBgColor),f.restoreBtnStyle={fontSize:f.formBtnStyle.fontSize,fontFamily:f.formBtnStyle.fontFamily,fontWeight:"bold"},f.restoreBtnLabelFill=f.formBtnLabelFill,p.restorebtntextcolor&&(f.restoreBtnLabelFill=p.restorebtntextcolor.replace(mb,Oa)),0<=(l=g(p.restorebtnfontsize))&&
(f.restoreBtnStyle.fontSize=l+"px"),kc(f.restoreBtnStyle));f.showLimitUpdateMenu=g(p.showlimitupdatemenu,1);f.showFormBtn&&(e.setStyle(f.formBtnStyle),k=e.getOriSize(f.formBtnTitle),m=k.height||0);f.showRestoreBtn&&(e.setStyle(f.restoreBtnStyle),n=e.getOriSize(f.restoreBtnTitle),m=Za(n.height,m)||0);0<m&&(m+=f.btnPadding+4,m>t&&(f.btnPadding=Za(f.btnPadding-m+t,0)/2,m=t));f.btnHeight=m;f.showFormBtn&&(q=k.width+m,f.formBtnWidth=g(p.formbtnwidth,q),f.formBtnWidth<k.width&&(f.formBtnWidth=q));f.showRestoreBtn&&
(q=n.width+m,f.restoreBtnWidth=g(p.restorebtnwidth,q),f.restoreBtnWidth<n.width&&(f.restoreBtnWidth=q));f.marginBottom+=m+f.btnPadding;f.spacingBottom+=m+f.btnPadding;(b.callbacks||(b.callbacks=[])).push(this.drawButtons);return this.placeVerticalXYSpaceManager.apply(this,arguments)},drawButtons:function(){var b=this.logic,d=this.paper,a=this.options.chart,c=a.btnSpacing,e=this.chartHeight-a.spacingBottom+a.btnPadding,f=this.chartWidth-a.spacingRight,p=this.layers.layerAboveDataset,l=0;a.showFormBtn&&
(this.submitBtn=d.button(f-a.formBtnWidth,e,a.formBtnTitle,void 0,{width:a.formBtnWidth,height:a.btnHeight,verticalPadding:1,horizontalPadding:15},p).labelcss(a.formBtnStyle).attr({fill:[J(a.formBtnBgColor),a.formBtnLabelFill],stroke:J(a.formBtnBorderColor)}).buttonclick(function(){b.chartInstance.submitData()}),l=a.formBtnWidth+c);a.showRestoreBtn&&(this.restoreBtn=d.button(f-a.restoreBtnWidth-l,e,a.restoreBtnTitle,void 0,{width:a.restoreBtnWidth,height:a.btnHeight,verticalPadding:1,horizontalPadding:15},
p).labelcss(a.restoreBtnStyle).attr({fill:[J(a.restoreBtnBgColor),a.restoreBtnLabelFill],stroke:J(a.restoreBtnBorderColor)}).buttonclick(function(){b.chartInstance.restoreData()}))},drawAxisUpdateUI:function(){var b=this,d=b.logic,a=b.elements,c=b.options,e=c.chart,f=c[fa],p=d.chartInstance,d=d.renderer,l=b.yAxis[0],g=l.axisData,m=l.poi,h=g.plotLines,k=b.container,n=c.chart.showRangeError,s=f.inCanvasStyle,c=b.toolbar||(b.toolbar=[]),l=b.menus||(b.menus=[]),z=Pa({outline:"none","-webkit-appearance":"none",
filter:"alpha(opacity=0)",position:"absolute",background:"transparent",border:"1px solid #cccccc",textAlign:"right",top:0,left:0,width:50,zIndex:20,opacity:0,borderRadius:0},s),X,M;d&&!d.forExport&&(M=function(a,c,d){if(a===c+"")return null;c=d?p.setUpperLimit(a,!0):p.setLowerLimit(a,!0);!c&&n&&b.showMessage("Sorry! Not enough range gap to modify axis limit to "+(Number(a)||"0")+".<br />Please modify the data values to be within range.<br />&nbsp;<br />(click anywhere on the chart to close this message)",
!0);return c},ib(["max","min"],function(a){a=m[a];var c=a.label,d=h[a.index];a=c&&c.getBBox();var f,p,l,g,n,t,X;if(a&&c){p=a.x+a.width-e.spacingLeft;l=e.marginLeft-p-(Ta?4:5);f=Cb("input",{type:"text",value:d.value},k,!0);Pa(z,{top:a.y+(Ta?-1:0)+"px",left:l+"px",width:p+"px"});for(g in z)f.style[g]=z[g];u.dem.listen(f,["focus","mouseup","blur","keyup"],[function(){var a={opacity:1,filter:"alpha(opacity=100)",color:s.color},b;this.value=d.value;for(b in a)this.style[b]=a[b];n=X=!0;c.hide()},function(){var a=
this;X&&(X=!1,gb||setTimeout(function(){a.select()},0))},function(){!0!==M(this.value,d.value,d.isMaxLabel)&&(this.style.opacity=0,this.style.filter="alpha(opacity=0)",c.show());$b&&Ua.getElementsByTagName("body")[0].focus&&Ua.getElementsByTagName("body")[0].focus();n=X=!1},function(a){var b=a.originalEvent.keyCode,c=this.value;13===b?(a=M(c,d.value,d.isMaxLabel),!1===a&&(this.style.color="#dd0000")):27===b&&(this.value=d.value,u.dem.fire(this,"blur",a))}]);f.setAttribute("isOverlay","true");Ta?(rb(b.container,
"defaultprevented",t=function(a){f.parentNode&&u.dem.fire(f,"blur",a)}),rb(b.container,"destroy",function(){ka(b,"defaultprevented",t);f.parentNode.removeChild(f)})):(rb(b.container,"mousedown",t=function(a){a.srcElement!==f&&n&&u.dem.fire(f,"blur",a)}),rb(b.container,"destroy",function(){ka(b.container,"mousedown",t);f.parentNode.removeChild(f)}))}}),e.showLimitUpdateMenu&&(l.push(X=Nb({chart:b,basicStyle:f.outCanvasStyle,items:[{text:"Increase Upper Limit",onclick:function(){p.setUpperLimit(g.max+
g.tickInterval,!0)}},{text:"Increase Lower Limit",onclick:function(){p.setLowerLimit(g.min+g.tickInterval,!0)}},{text:"Decrease Upper Limit",onclick:function(){p.setUpperLimit(g.max-g.tickInterval,!0)}},{text:"Decrease Lower Limit",onclick:function(){p.setLowerLimit(g.min-g.tickInterval,!0)}}],position:{x:e.spacingLeft,y:p.height-e.spacingBottom+(e.showFormBtn||e.showRestoreBtn?10:-15)}})),a.configureButton=c.add("configureIcon",function(a,b){return function(){X.visible?X.hide():X.show({x:a,y:b+1})}}(),
{x:e.spacingLeft,y:p.height-e.spacingBottom+(e.showFormBtn||e.showRestoreBtn?10:-15),tooltip:"Change Y-Axis Limits"})))},getCollatedData:function(){var b=this.chartInstance,d=b.__state,a=b.jsVars,b=this.updatedDataObj||I({},b.getChartData(D.dataFormats.JSON)),c=a._reflowData,a=b.dataset,e=(c=c&&c.hcJSON&&c.hcJSON.series)&&c.length,f,p,l,g;if(void 0!==d.hasStaleData&&!d.hasStaleData&&this.updatedDataObj)return this.updatedDataObj;if(a&&c)for(;e--;)if(p=a[e]&&a[e].data,(f=(l=c[e]&&c[e].data)&&l.length)&&
p)for(;f--;)if(g=l[f])p[f].value=g.y;d.hasStaleData=!1;return this.updatedDataObj=b},eiMethods:{restoreData:function(){var b=this.jsVars,d=b.fcObj;b._reflowData={};delete b._reflowClean;D.hcLib.createChart(d,b.container,b.type,void 0,void 0,!1,!0);u.raiseEvent("dataRestored",{},d,[d.id]);return!0},submitData:function(){var b=this.jsVars,d=b.fcObj,a=d.__state,c=a._submitAjaxObj||(a._submitAjaxObj=new D.ajax),a=D.dataFormats.JSON,e=D.dataFormats.CSV,f=D.dataFormats.XML,b=b.instanceAPI,p=b.hcJSON.chart,
l=p.formAction,g=p.submitFormAsAjax,m,h,k,n,s;p.formDataFormat===a?(m=a,h=JSON.stringify(b.getCollatedData())):p.formDataFormat===e?(m=e,h=b.getCSVString&&b.getCSVString(),void 0===h&&(h=D.core.transcodeData(b.getCollatedData(),a,e))):(m=f,h=D.core.transcodeData(b.getCollatedData(),a,f));D.raiseEvent("beforeDataSubmit",{data:h},d,void 0,function(){g?(c.onError=function(a,b,c,e){u.raiseEvent("dataSubmitError",{xhrObject:b.xhr,url:e,statusText:a,httpStatus:b.xhr&&b.xhr.status?b.xhr.status:-1,data:h},
d,[d.id,a,b.xhr&&b.xhr.status])},c.onSuccess=function(a,b,e,f){u.raiseEvent("dataSubmitted",{xhrObject:c,response:a,url:f,data:h},d,[d.id,a])},k={},k["str"+m.toUpperCase()]=h,c.open&&c.abort(),c.post(l,k)):(n=Sa.document.createElement("span"),n.innerHTML='<form style="display:none" action="'+l+'" method="'+p.formMethod+'" target="'+p.formTarget+'"> <input type="hidden" name="strXML" value="'+ad(h)+'"><input type="hidden" name="dataFormat" value="'+m.toUpperCase()+'" /></form>',s=n.removeChild(n.firstChild),
Sa.document.body.appendChild(s),s.submit&&s.submit(),s.parentNode.removeChild(s),n=s=null)},function(){D.raiseEvent("dataSubmitCancelled",{data:h},d)})},getDataWithId:function(){for(var b=this.jsVars.instanceAPI.getCollatedData(),d=[[A]],a=b.dataset,b=b.categories&&b.categories[0]&&b.categories[0].category,c=a&&a.length||0,e=0,f,p,l,g,m,h;c--;)if(p=a[c])for(d[0][c+1]=p.id||p.seriesname,g=p.id||c+1,h=(p=p.data)&&p.length||0,m=0;m<h;m+=1){l=m+1;if(!d[l]){for(f=b&&b[m+e]||{};f.vline;)e+=1,f=b[m+e]||
{};f=f.label||f.name||A;d[l]=[f]}f=d[l];l=p[m].id||l+"_"+g;f[c+1]=[l,Number(p[m].value)]}return d},getData:function(b){var d=this.jsVars.instanceAPI.getCollatedData(),a=[[A]],c=d.dataset,e=d.categories&&d.categories[0]&&d.categories[0].category,f=c&&c.length||0,p=0,l,g,m;if(b)a=/^json$/ig.test(b)?d:D.core.transcodeData(d,"json",b);else for(;f--;)if(b=c[f])for(a[0][f+1]=c[f].seriesname,d=(b=c[f]&&c[f].data)&&b.length||0,m=0;m<d;m+=1){g=m+1;if(!a[g]){for(l=e&&e[m+p]||{};l.vline;)p+=1,l=e[m+p]||{};l=
l.label||l.name||A;a[g]=[l]}g=a[g];g[f+1]=Number(b[m].value)}return a},setYAxisLimits:function(b,d){var a=this.jsVars.instanceAPI,c=a.hcJSON,e=a.dataObj,f=e&&e.chart||{},c=c&&c.yAxis&&c.yAxis[0]||!1,p=!1;f.animation=!1;if(!c)return!1;void 0!==b&&b>a.highValue&&b!==c.max?(f.yaxismaxvalue=b,p=!0):(b=a.highValue>c.max?a.highValue:c.max,f.yaxismaxvalue=b);void 0!==d&&d<a.lowValue&&d!==c.min?(f.yaxisminvalue=d,p=!0):(d=a.lowValue<c.min?a.lowValue:c.min,f.yaxisminvalue=d);p&&a.updateChartWithData(e);return p},
getUpperLimit:function(){var b=this.jsVars.instanceAPI.hcJSON;return(b=b.yAxis&&b.yAxis[0])?b.max:void 0},setUpperLimit:function(b){return this.jsVars.fcObj.setYAxisLimits(b,void 0)},getLowerLimit:function(){var b=this.jsVars.instanceAPI.hcJSON;return(b=b.yAxis&&b.yAxis[0])?b.min:void 0},setLowerLimit:function(b){return this.jsVars.fcObj.setYAxisLimits(void 0,b)}},updateChartWithData:function(b){var d=this.chartInstance,a=d.jsVars,c=b&&b.chart;b=a._reflowData||(a._reflowData={});c={dataObj:{chart:{yaxisminvalue:g(c.yaxisminvalue),
yaxismaxvalue:g(c.yaxismaxvalue),animation:c.animation}}};I(b,c,!0);D.hcLib.createChart(d,a.container,a.type)},preSeriesAddition:function(){var b=this,d=b.hcJSON,a=b.dataObj.chart,c=d.chart;b.tooltipSepChar=d[fa].tooltipSepChar;c.allowAxisChange=g(a.allowaxischange,1);c.changeDivWithAxis=1;c.snapToDivOnly=g(a.snaptodivonly,0);c.snapToDiv=c.snapToDivOnly?1:g(a.snaptodiv,1);c.snapToDivRelaxation=g(a.snaptodivrelaxation,10);c.doNotSnap=g(a.donotsnap,0);c.doNotSnap&&(c.snapToDiv=c.snapToDivOnly=0);c.showRangeError=
g(a.showrangeerror,0);g(a.allowaxischange,1)&&(d.callbacks||(d.callbacks=[])).push(function(a){var c=this,d=arguments,l;rb(a.renderer.container,"destroy",function(){l&&(l=clearTimeout(l))});l=setTimeout(function(){b.drawAxisUpdateUI.apply(c,d);l=null},1)})},getTooltextCreator:function(){var b=arguments;return function(){var d=arguments,a=d.length,c,e,f;for(f=0;f<a;f+=1)void 0!==(e=d[f])&&void 0!==(c=b[f])&&(b[f]="object"===typeof c?I(c,e):e);return cb.apply(this,b)}},getPointStub:function(b,d,a,c,
e,f,p){var l=this.isDual,t=this.dataObj.chart;c=c[fa];var m=null===d?d:c.numberFormatter.dataLabels(d,1===p?!0:!1),q=C(G(h(b.tooltext,e.plottooltext,c.tooltext))),k=c.tooltipSepChar,n=e._sourceDataset;d=g(b.allowdrag,n.allowdrag,1);var n=g(b.allownegativedrag,n.allownegativedrag,e.allownegativedrag,1),s,z,X,M,x=0,v=0,qa,B;c.showTooltip?void 0!==q?(B=this.getTooltextCreator(q,[1,2,3,4,5,6,7],{yaxisName:G(l?p?t.syaxisname:t.pyaxisname:t.yaxisname),xaxisName:G(t.xaxisname),formattedValue:m,label:a},
b,t,e),e=B(),e===q&&(B=void 0,x=1)):null===m?e=!1:(c.seriesNameInToolTip&&(M=aa(e&&e.seriesname)),e=M?M+k:A,qa=e+=a?a+k:A,c.showPercentInToolTip?s=!0:e+=m):e=!1;g(b.showvalue,f)?void 0!==C(b.displayvalue)?(X=G(b.displayvalue),v=1):c.showPercentValues?z=!0:X=m:X=A;b=h(b.link);return{displayValue:X,categoryLabel:a,toolText:e,link:b,showPercentValues:z,showPercentInToolTip:s,allowDrag:d,allowNegDrag:n,_toolTextStr:qa,_isUserValue:v,_isUserTooltip:x,_getTooltext:B}}};r("dragnode",{friendlyName:"Dragable Node Chart",
standaloneInit:!0,decimals:2,numdivlines:0,numVDivLines:0,defaultZeroPlaneHighlighted:!1,defaultZeroPlaneHidden:!0,spaceManager:Ia.spaceManager,drawButtons:Ia.drawButtons,updateChartWithData:Ia.updateChartWithData,creditLabel:da,canvasPaddingModifiers:null,defaultSeriesType:"dragnode",rendererId:"dragnode",tooltipsepchar:" - ",showAxisLimitGridLines:0,cleanedData:function(b,d){var a=b&&b.hcJSON,c=d&&d.hcJSON,e,f,p,l,g,m,h,k,n;if(a&&c){if(a.series&&c.series&&(g=c.series.length))for(k=0;k<g;k+=1)if(f=
c.series[k],e=a.series[k],f.data&&(m=f.data.length))for(n=0;n<m;n+=1)!0===f.data[n]&&e&&e.data&&e.data[n]&&(delete e.data[n],e.data[n]={y:null});if(a.connectors&&c.connectors&&(p=c.connectors.length))for(k=0;k<p;k+=1)if(f=c.connectors[k],e=a.connectors[k],f.connector&&(h=f.connector.length))for(n=0;n<h;n+=1)!0===f.connector[n]&&e&&e.connector&&e.connector[n]&&(delete e.connector[n],e.connector[n]={});if(a.dragableLabels&&c.dragableLabels&&(l=c.dragableLabels.length))for(k=0;k<l;k+=1)!0===c.dragableLabels[k]&&
a.dragableLabels[k]&&(delete a.dragableLabels[k],a.dragableLabels[k]={})}},eiMethods:I(Pa(r.scatterbase.eiMethods,Ia.eiMethods),{addNode:function(b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),e=a.hcJSON,f=a.numberFormatter,a=h(b.datasetId),p=f.getCleanValue(b.y),f=f.getCleanValue(b.x),l=!1,g=e.series,m=g.length,q=e.xAxis.min,k=e.xAxis.max,n=e.yAxis[0].min,s=e.yAxis[0].max,e={hcJSON:{series:[]}},z=e.hcJSON.series,X;if(void 0!==a&&null!==p&&p>=n&&p<=s&&null!==f&&f>=q&&f<=
k){for(q=0;q<m&&!l;q+=1)a==g[q].id&&(z[q]={data:[]},l=!0,X=g[q],n=X.data,k=n.length,n.push(n=X._dataParser(b,k,f,p)),z[q].data[k]=n,I(c,e,!0),X={index:k,dataIndex:k,link:b.link,y:b.y,x:b.x,shape:b.shape,width:b.width,height:b.height,radius:b.radius,sides:b.sides,label:b.name,toolText:b.tooltext,id:b.id,datasetIndex:q,datasetName:X.name,sourceType:"dataplot"});if(l)return eb(d,X,"nodeadded"),D.raiseEvent("nodeadded",X,d.fcObj),!0}return!1},getNodeAttribute:function(b){var d=this.jsVars,a=d.instanceAPI,
d=d._reflowData||(d._reflowData={}),d=d.hcJSON&&d.hcJSON.series||[],a=a.hcJSON.series,c=a.length,e,f,p,l;if(void 0!==b)for(e=0;e<c;e+=1)for(f=a[e],l=f.data,p=l.length,f=0;f<p;f+=1)if(l[f].id===b)return d[e]&&d[e].data&&d[e].data[f]?I(l[f]._options,d[e].data[f]._options,!0):l[f]._options;return!1},setNodeAttribute:function(b,d,a){var c=this.jsVars,e=c.instanceAPI,f=c._reflowData||(c._reflowData={}),p=e.hcJSON,l=e.numberFormatter,g=p.series,m=g.length,h=p.xAxis.min,k=p.xAxis.max,n=p.yAxis[0].min,s=
p.yAxis[0].max,p={hcJSON:{series:[]}},e=p.hcJSON.series,z=f.hcJSON&&f.hcJSON.series||[],X,M,x,v;"object"===typeof d&&void 0===a?v=d:(v={},v[d]=a);if(void 0!==b)for(d=0;d<m;d+=1)for(X=g[d],M=X.data,x=M.length,a=0;a<x;a+=1)if(b===M[a].id)return b=M[a],delete v.id,z[d]&&z[d].data&&z[d].data[a]&&z[d].data[a]._options&&(v=I(z[d].data[a]._options,v,!0)),v=I(b._options,v,!0),b=l.getCleanValue(v.y),l=l.getCleanValue(v.x),null!==b&&b>=n&&b<=s&&null!==l&&l>=h&&l<=k?(e[d]={data:[]},h=X._dataParser(v,a,l,b),
k={index:a,dataIndex:a,link:v.link,y:v.y,x:v.x,shape:v.shape,width:v.width,height:v.height,radius:v.radius,sides:v.sides,label:v.name,toolText:v.tooltext,id:v.id,datasetIndex:d,datasetName:X.name,sourceType:"dataplot"},e[d].data[a]=h,I(f,p,!0),eb(c,k,"nodeupdated"),D.raiseEvent("nodeupdated",k,c.fcObj),!0):!1;return!1},deleteNode:function(b){if(void 0!==b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowClean||(d._reflowClean={}),e=a.hcJSON.series,f={hcJSON:{series:[]}},p,l,g,m,h;if(e&&(g=e.length))for(m=
0;m<g;m+=1)if((a=e[m])&&(l=a.data)&&(p=l.length))for(h=0;h<p;h+=1)if(b===l[h].id)return f.hcJSON.series[m]={data:[]},f.hcJSON.series[m].data[h]=!0,I(c,f,!0),b=l[h],b={index:h,dataIndex:h,link:b.link,y:b.y,x:b.x,shape:b._options.shape,width:b._options.width,height:b._options.height,radius:b._options.radius,sides:b._options.sides,label:b.displayValue,toolText:b.toolText,id:b.id,datasetIndex:m,datasetName:a.name,sourceType:"dataplot"},eb(d,b,"nodedeleted"),D.raiseEvent("nodedeleted",b,d.fcObj),!0}return!1},
addConnector:function(b){if("object"===typeof b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),a=a.hcJSON,e=a.connectors&&a.connectors[0]||{connector:[]},a=e.connector.length,f={hcJSON:{connectors:[{connector:[]}]}};b=e._connectorParser&&e._connectorParser(b,a);e={arrowAtEnd:b.arrowAtEnd,arrowAtStart:b.arrowAtStart,fromNodeId:b.from,id:b.id,label:b.label,link:b.connectorLink,sourceType:"connector",toNodeId:b.to};f.hcJSON.connectors[0].connector[a]=b;I(c,f,!0);eb(d,e,"connectoradded");
D.raiseEvent("connectoradded",e,d.fcObj);return!0}return!1},editConnector:function(b,d,a){var c=this.jsVars,e=c.instanceAPI,f=c._reflowData||(c._reflowData={}),e=e.hcJSON,p=e.connectors||(e.connectors=[]),l=p.length,e={hcJSON:{connectors:[]}},g=e.hcJSON.connectors,m,h,k,n;"object"===typeof d&&void 0===a?n=d:(n={},n[d]=a);if(void 0!==b)for(d=0;d<l;d+=1)if((h=p[d])&&(m=h.connector))for(k=m.length,a=0;a<k;a+=1)if(b===m[a].id)return m=m[a],delete n.id,f.hcJSON&&f.hcJSON.connectors&&f.hcJSON.connectors[d]&&
f.hcJSON.connectors[d].connector&&f.hcJSON.connectors[d].connector[a]&&f.hcJSON.connectors[d].connector[a]._options&&(n=I(f.hcJSON.connectors[d].connector[a]._options,n,!0)),n=I(m._options,n,!0),b={arrowAtEnd:Boolean(n.arrowatend),arrowAtStart:Boolean(n.arrowatstart),fromNodeId:n.from,id:b,label:n.label,link:n.link,sourceType:"connector",toNodeId:n.to},g[d]={connector:[]},m=h._connectorParser(n,a),g[d].connector[a]=m,I(f,e,!0),eb(c,b,"connectorupdated"),D.raiseEvent("connectorupdated",b,c.fcObj),
!0;return!1},deleteConnector:function(b){if(void 0!==b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowClean||(d._reflowClean={}),e=a.hcJSON.connectors,a={hcJSON:{connectors:[]}},f,p,l,g,m,h={};if(e&&(g=e.length))for(m=0;m<g;m+=1)if((f=e[m])&&(l=f.connector)&&(p=l.length))for(f=0;f<p;f+=1)if(b===l[f].id)return b=l[f],h={arrowAtEnd:b.arrowAtEnd,arrowAtStart:b.arrowAtStart,fromNodeId:b.from,id:b.id,label:b.label,link:b.connectorLink,sourceType:"connector",toNodeId:b.to},a.hcJSON.connectors[m]={connector:[]},
a.hcJSON.connectors[m].connector[f]=!0,I(c,a,!0),eb(d,h,"connectordeleted"),D.raiseEvent("connectordeleted",h,d.fcObj),!0}return!1},addLabel:function(b){if(b){var d=this.jsVars,a=d.instanceAPI,c=d._reflowData||(d._reflowData={}),e={hcJSON:{dragableLabels:[]}};e.hcJSON.dragableLabels[(a.hcJSON.dragableLabels||[]).length]=b;I(c,e,!0);b={text:b.text,x:b.x,y:b.y,allowdrag:b.allowdrag,sourceType:"labelnode",link:b.link};eb(d,b,"labeladded");D.raiseEvent("labeladded",b,d.fcObj);return!0}return!1},deleteLabel:function(b,
d){var a=this.jsVars,c=a.instanceAPI,e=a._reflowClean||(a._reflowClean={}),f={hcJSON:{dragableLabels:[]}};return b<(c.hcJSON.dragableLabels||[]).length?(f.hcJSON.dragableLabels[b]=!0,I(e,f,!0),eb(a,d,"labeldeleted"),D.raiseEvent("labeldeleted",d,a.fcObj),!0):!1},setThreshold:function(b){var d=this.jsVars.hcObj.connectorsStore||[],a=d.length,c,e;for(e=0;e<a;e+=1)(c=d[e])&&c.options&&(c.options.conStrength<b?(c.graphic&&c.graphic.hide(),c.text&&(c.text.hide(),c.text.textBoundWrapper&&c.text.textBoundWrapper.hide())):
(c.graphic&&c.graphic.show(),c.text&&(c.text.show(),c.text.textBoundWrapper&&c.text.textBoundWrapper.show())))}}),getCollatedData:function(){var b=this.chartInstance,d=b.__state,a=b.jsVars,b=this.updatedDataObj||I({},b.getChartData(D.dataFormats.JSON)),c=a._reflowData,e=a._reflowClean,a=(b.labels||(b.labels={label:[]}),b.labels.label||(b.labels.label=[])),f=c&&c.hcJSON&&c.hcJSON.dragableLabels,p=e&&e.hcJSON&&e.hcJSON.dragableLabels,l=b.connectors,g=c&&c.hcJSON&&c.hcJSON.connectors,h=e&&e.hcJSON&&
e.hcJSON.connectors,q=b.dataset,k=c&&c.hcJSON&&c.hcJSON.series,c=e&&e.hcJSON&&e.hcJSON.series,e=k&&k.length,n,s,z,X;if(void 0!==d.hasStaleData&&!d.hasStaleData&&this.updatedDataObj)return this.updatedDataObj;if(q&&k)for(;e--;)if(s=q[e]&&q[e].data,(n=(z=k[e]&&k[e].data)&&z.length)&&s)for(;n--;)if(X=z[n])s[n]?I(s[n],X._options):s[n]=X._options;if(e=g&&g.length)for(b.connectors||(l=b.connectors=[{connector:[]}]);e--;)if(k=l[e]&&l[e].connector,(n=(s=g[e]&&g[e].connector)&&s.length)&&k)for(;n--;)if(z=
s[n])k[n]?I(k[n],z._options):k[n]=z._options;if((e=f&&f.length)&&f)for(;e--;)f[e]&&(a[e]=f[e]);nb(q,c);nb(l,h);nb(a,p);d.hasStaleData=!1;return this.updatedDataObj=b},createHtmlDialog:function(b,d,a,c,e,f){var p=b.paper,l=this.hcJSON[fa].inCanvasStyle,g=b.chartWidth,h=b.chartHeight,q={color:l.color,textAlign:"center",paddingTop:"1px",border:"1px solid #cccccc",borderRadius:"4px",cursor:"pointer",_cursor:"hand",backgroundColor:"#ffffff",zIndex:21,"-webkit-border-radius":"4px"},k;k=p.html("div",{fill:"transparent",
width:g,height:h},{fontSize:"10px",lineHeight:"15px",fontFamily:l.fontFamily},b.container);k.veil=p.html("div",{fill:"000000",width:g,height:h,opacity:.3},void 0,k);k.dialog=p.html("div",{x:(g-d)/2,y:(h-a)/2,fill:"efefef",strokeWidth:1,stroke:"000000",width:d,height:a},{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},k);k.ok=p.html("div",
{x:d-70-5,y:a-23-5,width:65,height:17,text:"Submit",tabIndex:1},q,k.dialog).on("click",c);k.cancel=p.html("div",{x:d-140-5,y:a-23-5,width:65,height:17,text:"Cancel",tabIndex:2},q,k.dialog).on("click",e);k.remove=p.html("div",{x:d-210-5,y:a-23-5,width:65,height:17,text:"Delete",tabIndex:3,visibility:"hidden"},q,k.dialog).on("click",f);k.handleKeyPress=function(a){13===a.keyCode?k.ok.trigger(gb?"touchStart":"click",a):27===a.keyCode&&k.cancel.trigger(gb?"touchStart":"click",a)};k.hide();return k},nodeUpdateUIDefinition:[{key:"id",
text:"Id",inputWidth:60,x:10,y:15},{key:"dataset",text:"Dataset",inputType:"select",inputWidth:110,innerHTML:void 0,x:170,y:15},{key:"x",text:"Value",x:10,y:40,inputWidth:21},{key:"y",text:",",x:88,y:40,inputWidth:21,labelWidth:5},{text:"(x, y)",x:125,y:40,labelWidth:33,noInput:!0},{key:"tooltip",text:"Tooltip",inputWidth:105,x:170,y:40},{key:"label",text:"Label",inputWidth:92,x:10,y:65},{key:"labelalign",text:"Align",labelWidth:70,inputWidth:110,inputType:"select",innerHTML:'<option></option><option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',
x:145,y:63},{key:"color",text:"Color",x:10,y:90,inputWidth:60},{key:"colorOut",innerHTML:"&nbsp;",x:85,y:90,inputWidth:15,inputType:"span"},{key:"alpha",text:"Alpha",x:170,y:90,inputWidth:20},{key:"draggable",text:"Allow Drag",value:!0,inputWidth:20,x:250,y:90,labelWidth:58,inputPaddingTop:3,type:"checkbox"},{key:"shape",text:"Shape",inputType:"select",inputWidth:97,innerHTML:'<option value="rect">Rectangle</option><option value="circ">Circle</option><option value="poly">Polygon</option>',x:10,y:115},
{key:"rectHeight",text:"Height",x:170,y:115,inputWidth:20},{key:"rectWidth",text:"Width",x:255,y:115,inputWidth:20},{key:"circPolyRadius",text:"Radius",x:170,y:115,inputWidth:20},{key:"polySides",text:"Sides",x:255,y:115,inputWidth:20},{key:"link",text:"Link",x:10,y:140,inputWidth:92},{key:"image",text:"Image",type:"checkbox",inputPaddingTop:4,inputWidth:20,x:10,y:170},{key:"imgUrl",text:"URL",inputWidth:105,x:170,y:170},{key:"imgWidth",text:"Width",inputWidth:20,x:10,y:195},{key:"imgHeight",text:"Height",
inputWidth:20,x:82,y:195},{key:"imgAlign",text:"Align",inputType:"select",inputWidth:75,innerHTML:'<option value="top">Top</option><option value="middle">Middle</option><option value="bottom">Bottom</option>',x:170,y:195}],showNodeUpdateUI:function(){var b=function(a){a=a.cacheUpdateUI;for(var b=a.fields.shape,d=["rectWidth","rectHeight","circPolyRadius","polySides"],p=d.length,l;p--;)l=d[p],/rect|poly|circ/ig.test(l)&&(a.labels[l].hide(),a.fields[l].hide()),(new RegExp(h(b.val(),"rect"),"ig")).test(l)&&
(a.labels[l].show(),a.fields[l].show())},d=function(a){a=a.cacheUpdateUI.fields;var b=zb(a.color.val());b&&a.colorOut.css({background:sb(b)})},a=function(a,b){var d=a.cacheUpdateUI,p=a.chartHeight,l=d.fields.image.val(),g=b?300:0,h=["imgWidth","imgHeight","imgAlign","imgUrl"],q,k,n;q=l?250:215;d.ok.hide();d.cancel.hide();d.remove.hide();d.error.hide();for(k=h.length;!l&&k--;)n=h[k],d.labels[n].hide(),d.fields[n].hide();u.danimate.animate(d.dialog.element,{top:(p-q)/2,height:q},g,"linear",function(){for(k=
h.length;k--&&l;)n=h[k],d.labels[n].show(),d.fields[n].show();d.ok.attr({y:q-23-5}).show();d.cancel.attr({y:q-23-5}).show();d.remove.attr({y:q-23-5});d.error.attr({y:q-23-5+4}).show();d.edit?d.remove.show():d.remove.hide()})};return function(c,e,f){var p=this,l=c.cacheUpdateUI,g=c.paper,h={width:"80px",border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",padding:"2px",fontFamily:p.hcJSON[fa].inCanvasStyle.fontFamily},q=0,k={textAlign:"right"},n=l&&l.fields,s=l&&l.labels,z;l||(l=c.cacheUpdateUI=
p.createHtmlDialog(c,350,215,function(){var a=l&&l.fields,b=l.edit,c=p.chartInstance,d=p.hcJSON,e,f,g,k,h,m,n;if(!d)return!1;e=d.xAxis.min;f=d.yAxis[0].min;d=d.series;g=d.length;if(a){switch(a.shape.val()){case "circ":h="circle";break;case "poly":h="polygon";break;default:h="rectangle"}n={x:aa(a.x.val(),e),y:aa(a.y.val(),f),id:e=a.id.val(),datasetId:a.dataset.val(),name:a.label.val(),tooltext:a.tooltip.val(),color:a.color.val(),alpha:a.alpha.val(),labelalign:a.labelalign.val(),allowdrag:a.draggable.val(),
shape:h,width:a.rectWidth.val(),height:a.rectHeight.val(),radius:a.circPolyRadius.val(),numsides:a.polySides.val(),imagenode:a.image.val(),imagewidth:a.imgWidth.val(),imageheight:a.imgHeight.val(),imagealign:a.imgAlign.val(),imageurl:a.imgUrl.val(),link:a.link.val()};if(void 0!==e&&!b)for(q=0;q<g&&!k;q+=1)for(h=d[q].data,m=h.length,f=0;f<m;f+=1)e===h[f].id&&(k=!0);if(k)l.error.attr({text:"ID already exist."}),a.label.focus();else{b?c&&c.setNodeAttribute&&c.setNodeAttribute(n.id,n):c&&c.addNode&&c.addNode(n);
return}}l.enableFields()},function(){l.hide();l.enableFields();l.error.attr({text:A})},function(){p.chartInstance.deleteNode&&p.chartInstance.deleteNode(l.fields.id.val())}),z=l.dialog,s=l.labels={},n=l.fields={});l.config=e;l.edit=f;l.error||(l.error=g.html("span",{color:"ff0000",x:30,y:228},void 0,z));l.enableFields||(l.enableFields=function(){for(var a in e)e[a]&&e[a].disabled&&n[a]&&n[a].element.removeAttribute("disabled")});ib(this.nodeUpdateUIDefinition,function(f){var p,q=f.key,v={},qa=e[q]||
{},B,r;!s[q]&&(s[q]=g.html("label",{x:f.x,y:f.y,width:f.labelWidth||45,text:f.text},k,z));if(!f.noInput){p=n[q];if(!p){h.border="checkbox"==f.type?A:"1px solid #cccccc";p=n[q]=g.html(f.inputType||"input",{x:f.labelWidth&&f.labelWidth+5||50,y:-2+(f.inputPaddingTop||0),width:f.inputWidth||50},h);if("select"!==f.inputType)p.attr({type:f.type||"text"}).on("keyup",l.handleKeyPress);p.add(s[q])}U(B=aa(qa.innerHTML,f.innerHTML))&&(v.innerHTML=B);qa.disabled&&(v.disabled="disabled");p.attr(v);U(r=aa(qa.value,
f.value))&&p.val(r);"shape"==q&&p.on("change",function(){b(c)});"image"==q&&p.on("click",function(){a(c,!0)});"color"==q&&p.on("keyup",function(){d(c)})}});d(c);a(c);b(c);c.options.chart.animation?l.fadeIn("fast"):l.show();l.fields[f?"label":"id"].focus()}}(),labelUpdateUIDefinition:[{key:"label",text:"Label*",x:10,y:15,inputWidth:235},{key:"size",text:"Size",x:10,y:40},{key:"padding",text:"Padding",x:10,y:65},{key:"x",text:"Position",x:120,y:65,labelWidth:70,inputWidth:25},{key:"y",text:",",x:225,
y:65,labelWidth:10,inputWidth:25},{key:"xy",text:"(x, y)",x:260,y:65,noInput:!0},{key:"allowdrag",text:"Allow Drag",x:120,y:40,inputType:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:70,val:1},{key:"color",text:"Color",x:10,y:90},{key:"alpha",text:"Alpha",x:145,y:90,inputWidth:30,val:"100"},{key:"bordercolor",text:"Border Color",x:10,y:125,labelWidth:100},{key:"bgcolor",text:"Background Color",x:10,y:150,labelWidth:100}],showLabelUpdateUI:function(b,d){var a=this,c=b.paper,e=b.cacheLabelUpdateUI,
f={border:"1px solid #cccccc",fontSize:"10px",lineHeight:"15px",fontFamily:a.hcJSON[fa].inCanvasStyle.fontFamily,padding:"2px"},p={textAlign:"right"},l=e&&e.fields,g=e&&e.labels,m,q,k;e||(e=b.cacheLabelUpdateUI=a.createHtmlDialog(b,315,205,function(){var b=e&&e.fields,c;b&&(c={text:b.label.val(),x:b.x.val(),y:b.y.val(),color:b.color.val(),alpha:b.alpha.val(),bgcolor:b.bgcolor.val(),bordercolor:b.bordercolor.val(),fontsize:b.size.val(),allowdrag:b.allowdrag.val(),padding:b.padding.val()},c.text?a.chartInstance&&
a.chartInstance.addLabel&&a.chartInstance.addLabel(c):(e.error.attr({text:"Label cannot be blank."}),b.label.focus()))},function(){e.error.attr({text:""});e.hide()}),k=e.dialog,g=e.labels={},l=e.fields={});ib(a.labelUpdateUIDefinition,function(a){var b=a.key;g[b]||(g[b]=c.html("label",{x:a.x,y:a.y,width:a.labelWidth||45,text:a.text},p,k));a.noInput||((m=l[b])||(m=l[b]=c.html("input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50,type:a.inputType||"text"},f,
g[b]).on("keyup",e.handleKeyPress)),void 0!==(q=h(d[b],a.val))&&m.val(q))});e.error||(e.error=c.html("span",{color:"ff0000",x:10,y:180},void 0,k));b.animation?e.fadeIn("fast"):e.show();e.fields.label.focus()},showLabelDeleteUI:function(b,d){var a=this,c=b.paper,e=b["cache-label-delete-ui"],f=d.data&&d.data("data")||{},p=d.data&&d.data("eventArgs"),f=f&&f.labelNode;e||(e=b["cache-label-delete-ui"]=a.createHtmlDialog(b,250,100,void 0,function(){e.hide()},function(){a.chartInstance.deleteLabel(f.index,
p)}),e.message=c.html("span",{x:10,y:10,width:230,height:80}).add(e.dialog),e.ok.hide(),e.remove.translate(175).show());e.message.attr({text:'Would you really like to delete the label: "'+f.text+'"?'});b.animation?e.fadeIn("fast"):e.show()},connectorUpdateUIDefinition:[{key:"fromid",text:"Connect From",inputType:"select",x:10,y:15,labelWidth:80,inputWidth:100},{key:"toid",text:"Connect To",inputType:"select",x:10,y:40,labelWidth:80,inputWidth:100},{key:"arratstart",text:"Arrow At Start",x:200,y:15,
type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"arratend",text:"Arrow At End",x:200,y:40,type:"checkbox",inputPaddingTop:3,labelWidth:80,inputWidth:15},{key:"label",text:"Label",x:10,y:75,labelWidth:40,inputWidth:120},{key:"id",text:"Node ID",x:190,y:75,inputWidth:55},{key:"color",text:"Color",x:10,y:100,labelWidth:40,inputWidth:35},{key:"alpha",text:"Alpha",x:110,y:100,inputWidth:25,labelWidth:35},{key:"strength",text:"Strength",x:190,y:100,inputWidth:55,val:"0.1"},{key:"url",
text:"Link",x:10,y:125,labelWidth:40,inputWidth:120},{key:"tooltext",text:"Tooltip",x:190,y:125,labelWidth:40,inputWidth:60},{key:"dashed",text:"Dashed",x:10,y:150,type:"checkbox",inputPaddingTop:3,inputWidth:15,labelWidth:40},{key:"dashgap",text:"Dash Gap",x:85,y:150,labelWidth:60,inputWidth:25},{key:"dashlen",text:"Dash Length",x:190,y:150,labelWidth:70,inputWidth:30}],showConnectorUpdateUI:function(b,d,a){var c=this.chartInstance,e=b.paper,f=b.cacheConnectorUpdateUI,p={border:"1px solid #cccccc",
fontSize:"10px",lineHeight:"15px",fontFamily:this.hcJSON[fa].inCanvasStyle.fontFamily,padding:"2px"},l={textAlign:"right"},g=f&&f.fields,m=f&&f.labels,q,k,n,s;f||(f=b.cacheConnectorUpdateUI=this.createHtmlDialog(b,315,215,function(){var b=f&&f.fields,d;b&&(d={from:b.fromid.val(),to:b.toid.val(),id:b.id.val(),label:b.label.val(),color:b.color.val(),alpha:b.alpha.val(),link:b.url.val(),tooltext:b.tooltext.val(),strength:b.strength.val(),arrowatstart:b.arratstart.val(),arrowatend:b.arratend.val(),dashed:b.dashed.val(),
dashlen:b.dashlen.val(),dashgap:b.dashgap.val()},d.from?d.to?d.from!=d.to?(a?c.editConnector(d.id,d):c.addConnector(d),f.enableFields()):(f.error.attr({text:"Connector cannot start and end at the same node!"}),b.fromid.focus()):(f.error.attr({text:"Please select a valid connector end."}),b.toid.focus()):(f.error.attr({text:"Please select a valid connector start."}),b.fromid.focus()))},function(){f.error.attr({text:""});f.enableFields();f.hide()},function(){c.deleteConnector(f.fields.id.val())}),s=
f.dialog,m=f.labels={},g=f.fields={});f.config=d;f.enableFields=function(){for(var a in d)d[a]&&d[a].disabled&&g[a]&&g[a].element.removeAttribute("disabled")};ib(this.connectorUpdateUIDefinition,function(a){var b=a.key,c=d[b]||{};m[b]||(m[b]=e.html("label",{x:a.x,y:a.y,width:a.labelWidth||45,text:a.text},l,s));if(!a.noInput){if(!(k=g[b])){k=g[b]=e.html(a.inputType||"input",{y:-2+(a.inputPaddingTop||0),x:a.labelWidth&&a.labelWidth+5||50,width:a.inputWidth||50},p);if("select"!==a.inputType)k.attr({type:a.type||
"text"}).on("keyup",f.handleKeyPress);k.add(m[b])}(q=h(c.innerHTML,a.innerHTML))&&k.attr({innerHTML:q});void 0!==(n=h(c.val,a.val))&&k.val(n);c.disabled&&k.attr({disabled:"disabled"})}});f.checkDash=function(){var a=g.dashed&&g.dashed.val()?"show":"hide";m.dashgap&&m.dashgap[a]();g.dashgap&&g.dashgap[a]();m.dashlen&&m.dashlen[a]();g.dashlen&&g.dashlen[a]()};f.checkDash();g.dashed.on("click",f.checkDash);f.error||(f.error=e.html("span",{color:"ff0000",x:10,y:170},void 0,s));f.remove[a?"show":"hide"]();
b.animation?f.fadeIn("fast"):f.show()},drawNodeUpdateButtons:function(){var b=this,d=b.logic,a=b.options,c=a.chart,e=a.pointStore||{},f=a.series,a=(a=a[fa])&&a.outCanvasStyle||b.outCanvasStyle||{},p=b.menu||(b.menu=[]),g=b.toolbar,h=f.length,m="",q="",k,n;for(n in e)m+='<option value="'+n+'">'+n+"</option>";for(n=0;n<h;n+=1)e=f[n],q+='<option value="'+e.id+'">'+(e.name!==A&&void 0!==e.name&&e.name+Da+" "||A)+e.id+"</option>";p.push(k=Nb({chart:b,basicStyle:a,items:[{text:"Add a Node",onclick:function(){d.showNodeUpdateUI(b,
{dataset:{innerHTML:q}})}},{text:"Add a Label",onclick:function(){d.showLabelUpdateUI(b,{})}},{text:"Add a Connector",onclick:function(){d.showConnectorUpdateUI(b,{fromid:{innerHTML:m},toid:{innerHTML:m}})}}],position:{x:c.spacingLeft,y:b.chartHeight-c.spacingBottom+(c.showFormBtn||c.showRestoreBtn?10:-15)}}));b.elements.configureButton=g.add("configureIcon",function(a,b){return function(){k.visible?k.hide():k.show({x:a,y:b+1})}}(),{x:c.spacingLeft,y:b.chartHeight-c.spacingBottom+(c.showFormBtn||
c.showRestoreBtn?10:-15),tooltip:"Add or edit items"})},postSeriesAddition:function(){var b=this.hcJSON,d=this.dataObj.chart,a=this.base.postSeriesAddition&&this.base.postSeriesAddition.apply(this,arguments);b.legend.enabled="1"==d.showlegend?!0:!1;(b.chart.viewMode=g(d.viewmode,0))||(b.callbacks||(b.callbacks=[])).push(this.drawNodeUpdateButtons);return a},pointHoverOptions:function(b,d,a,c){var e=g(b.showhovereffect,d.showhovereffect,a.plothovereffect,a.showhovereffect),f={},p=!!h(b.hovercolor,
d.hovercolor,a.plotfillhovercolor,b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,b.borderhovercolor,d.borderhovercolor,a.plotborderhovercolor,b.borderhoveralpha,d.borderhoveralpha,a.plotborderhoveralpha,b.borderhoverthickness,d.borderhoverthickness,a.plotborderhoverthickness,b.hoverheight,d.hoverheight,a.plothoverheight,b.hoverwidth,d.hoverwidth,a.plothoverwidth,b.hoverradius,d.hoverradius,a.plothoverradius,e),l=!1;if(void 0===e&&p||e)l=!0,e=h(b.hovercolor,d.hovercolor,a.plotfillhovercolor,ia(c.color,
70)),p=h(b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,c.alpha),f={stroke:y(h(b.borderhovercolor,d.borderhovercolor,a.plotborderhovercolor,c.borderColor),g(b.borderhoveralpha,d.borderhoveralpha,a.plotborderhoveralpha,p,c.borderAlpha)),"stroke-width":g(b.borderhoverthickness,d.borderhoverthickness,a.plotborderhoverthickness,c.borderThickness),height:g(b.hoverheight,d.hoverheight,a.plothoverheight,c.height),width:g(b.hoverwidth,d.hoverwidth,a.plothoverwidth,c.width),r:g(b.hoverradius,d.hoverradius,
a.plothoverradius,c.radius)},b=c.use3D?this.getPointColor(J(h(b.hovercolor,d.hovercolor,a.plotfillhovercolor,ia(c.color,70))),h(b.hoveralpha,d.hoveralpha,a.plotfillhoveralpha,c.alpha),c.shapeType):y(e,p),f.fill=ha(b);return{enabled:l,rolloverProperties:f}},point:function(b,d,a,c,e,f,p){var l=this;b=g(c.ignoreemptydatasets,0);var t=l.numberFormatter,m=(f=a.data)&&f.length,q=g(a.showvalues,e[fa].showValues),k=g(c.useroundedges),n=!1,s=l.colorManager,z,X,M,x,v,qa,B,r,u,F,w,H,Y,K;d.zIndex=1;d.name=C(a.seriesname);
qa=d.id=h(a.id,p);if(b&&!a.data)return d.showInLegend=!1,d;if(0===g(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;X=h(c.plotfillalpha,"100");M=g(c.showplotborder,1);p=J(h(c.plotbordercolor,"666666"));z=g(c.plotborderthickness,k?2:1);x=h(c.plotborderalpha,c.plotfillalpha,k?"35":"95");v=Boolean(g(c.use3dlighting,c.is3d,k?1:0));B=J(h(a.color,s.getPlotColor()));r=h(a.plotfillalpha,a.nodeFillAlpha,a.alpha,X);k=Boolean(g(a.showplotborder,M));u=J(h(a.plotbordercolor,a.nodebordercolor,p));F=g(a.plotborderthickness,
a.nodeborderthickness,z);w=k?h(a.plotborderalpha,a.nodeborderalpha,a.alpha,x):"0";H=Boolean(g(a.allowdrag,1));d.marker={enabled:!0,fillColor:y(B,r),lineColor:{FCcolor:{color:u,alpha:w}},lineWidth:F,symbol:"poly_4"};x=d._dataParser=function(b,d,f,p){d=h(b.id,qa+"_"+d);var k=Boolean(g(b.allowdrag,H)),m=C(b.shape,"rectangle").toLowerCase(),n=C(b.height,10),s=C(b.width,10),z=C(b.radius,10),x=C(b.numsides,4),M=J(h(b.color,B)),X=h(b.alpha,r),T=C(b.imageurl),G=Boolean(g(b.imagenode));switch(m){case "circle":K=
0;break;case "polygon":K=2;m=ea(x);break;default:K=1}Y=v?l.getPointColor(M,X,K):y(M,X);x=l.pointHoverOptions(b,a,c,{plotType:"funnel",shapeType:K,use3D:v,height:n,width:s,radius:z,color:M,alpha:X,borderColor:u,borderAlpha:w,borderThickness:F});return I(l.getPointStub(b,p,t.xAxis(f),e,a,q),{hoverEffects:x,_options:b,y:p,x:f,id:d,imageNode:G,imageURL:T,imageAlign:C(b.imagealign,A).toLowerCase(),imageWidth:C(b.imagewidth),imageHeight:C(b.imageheight),labelAlign:h(b.labelalign,G&&U(T)?Ea:"middle"),allowDrag:k,
marker:{enabled:!0,fillColor:Y,lineColor:{FCcolor:{color:u,alpha:w}},lineWidth:F,radius:z,height:n,width:s,symbol:m},tooltipConstraint:l.tooltipConstraint})};for(p=0;p<m;p+=1)if(z=f[p])k=t.getCleanValue(z.y),s=t.getCleanValue(z.x),null===k?d.data.push({_options:z,y:null}):(n=!0,d.data.push(x(z,p,s,k)),this.pointValueWatcher(e,k,s));b&&!n&&(d.showInLegend=!1);return d},getPointColor:function(b,d,a){var c;b=J(b);d=hb(d);c=ia(b,80);b=lc(b,65);d={FCcolor:{gradientUnits:"objectBoundingBox",color:c+","+
b,alpha:d+","+d,ratio:Eb}};a?d.FCcolor.angle=1===a?0:180:(d.FCcolor.cx=.4,d.FCcolor.cy=.4,d.FCcolor.r="50%",d.FCcolor.radialGradient=!0);return d},getPointStub:function(b,d,a,c,e){var f=this.dataObj.chart,p=c[fa],g=null===d?d:p.numberFormatter.dataLabels(d),t=C(G(h(b.tooltext,e.plottooltext,p.tooltext))),m=this.tooltipSepChar=p.tooltipSepChar,q=h(b.label,b.name);d=G(q);var k;c=A;var n=!1;p.showTooltip?void 0!==t?(n=!0,e=cb(t,[3,4,5,6,8,9,10,11],{yaxisName:G(f.yaxisname),xaxisName:G(f.xaxisname),yDataValue:g,
xDataValue:a,label:d},b,f,e)):void 0!==q?(e=d,n=!0):null===g?e=!1:(p.seriesNameInToolTip&&(k=aa(e&&e.seriesname)),e=c=k?k+m:A,e+=a?a+m:A,e+=g):e=!1;b=h(b.link);return{displayValue:d,toolText:e,link:b,_toolTextStr:c,_isUserTooltip:n}},connector:function(b,d,a,c,e){var f=e[fa],p=f.smartLabel;e=(b=a.connector)&&b.length;var l,t,m,q,k,n,s,z,X,M,x,v=C(G(h(a.connectortooltext,c.connectortooltext))),qa="$fromLabel"+f.tooltipSepChar+"$toLabel";l=g(a.stdthickness,1);t=J(h(a.color,"FF5904"));m=h(a.alpha,"100");
q=g(a.dashgap,5);k=g(a.dashlen,5);n=Boolean(g(a.dashed,0));s=Boolean(g(a.arrowatstart,1));z=Boolean(g(a.arrowatend,1));X=g(a.strength,1);c=d.connector;M=d._connectorParser=function(a,b){var c=G(h(a.label,a.name)),d=h(a.alpha,m),d={FCcolor:{color:J(h(a.color,t)),alpha:d}},e=p.getOriSize(c),M=C(G(h(a.tooltext,v)));x=f.showTooltip?h(M,c?"$label":qa):!1;return{_options:a,id:h(a.id,b).toString(),from:h(a.from,A),to:h(a.to,A),label:c,toolText:x,customToolText:M,color:d,dashStyle:Boolean(g(a.dashed,n))?
Ba(g(a.dashlen,k),g(a.dashgap,q),l):void 0,arrowAtStart:Boolean(g(a.arrowatstart,s)),arrowAtEnd:Boolean(g(a.arrowatend,z)),conStrength:g(a.strength,X),connectorLink:C(a.link),stdThickness:l,labelWidth:e.widht,labelHeight:e.height}};for(a=0;a<e;a+=1)c.push(M(b[a],a));return d},series:function(b,d,a){var c=d[fa],e=[],f,p,l,t;d.legend.enabled=Boolean(g(b.chart.showlegend,1));if(b.dataset&&0<(p=b.dataset.length)){this.categoryAdder(b,d);c.x.requiredAutoNumericLabels=!1;if(b.connectors&&(f=b.connectors.length))for(t=
0,l=f;t<l;t+=1)f={connector:[]},e.push(this.connector(a,f,b.connectors[t],b.chart,d,c.oriCatTmp.length,t));else f={connector:[]},e.push(this.connector(a,f,{},b.chart,d,c.oriCatTmp.length,t));for(t=0;t<p;t+=1)f={hoverEffects:this.parseSeriesHoverOptions(b,d,b.dataset[t],a),data:[]},f=this.point(a,f,b.dataset[t],b.chart,d,c.oriCatTmp.length,t),f instanceof Array?d.series=d.series.concat(f):d.series.push(f);d.connectors=e;b.labels&&b.labels.label&&0<b.labels.label.length&&(d.dragableLabels=b.labels.label);
b.chart.showyaxisvalue=h(b.chart.showyaxisvalue,0);this.configureAxis(d,b);b.trendlines&&Zb(b.trendlines,d.yAxis,c,!1,this.isBar)}}},r.scatterbase);Aa=function(b,d,a,c,e,f){var p=f.logic,l,t,m=d[b.from],q=d[b.to],k={sourceType:"connector"},n=b&&b._options,s=p.numberFormatter,z,X,M,x,v;this.renderer=c;this.connectorsGroup=e;this.pointStore=d;this.options=b;this.style=a||{};m&&q&&(this.fromPointObj=m,this.toPointObj=q,this.fromX=z=m._xPos,this.fromY=X=m._yPos,this.toX=M=q._xPos,this.toY=x=q._yPos,this.arrowAtStart=
k.arrowAtStart=b.arrowAtStart,this.arrowAtEnd=k.arrowAtEnd=b.arrowAtEnd,this.strokeWidth=d=b.conStrength*b.stdThickness,this.textBgColor=t=(this.color=l=b.color)&&l.FCcolor&&l.FCcolor.color,this.label=k.label=v=b.label,s=cb(b.toolText,[3,83,84,85,86,87,88,89,90,91,92],{label:b.label,fromXValue:s.dataLabels(m.x),fromYValue:s.dataLabels(m.y),fromXDataValue:m.x,fromYDataValue:m.y,fromLabel:h(m.displayValue,m.id),toXValue:s.dataLabels(q.x),toYValue:s.dataLabels(q.y),toXDataValue:q.x,toYDataValue:q.y,
toLabel:h(q.displayValue,q.id)}),this.link=k.link=n&&n.link,k.id=b.id,k.fromNodeId=m.id,k.toNodeId=q.id,m._config&&m._config.startConnectors&&m._config.startConnectors.push(this),q._config&&q._config.endConnectors&&q._config.endConnectors.push(this),m=function(){var a=this,c=b._options||{};a._longpressactive=clearTimeout(a._longpressactive);a.data("fire_click_event",1);a._longpressactive=setTimeout(function(){a.data("fire_click_event",0);a.data("viewMode")||p.showConnectorUpdateUI(f,{fromid:{val:c.from,
innerHTML:"<option>"+c.from+"</option>",disabled:!0},toid:{val:c.to,innerHTML:"<option>"+c.to+"</option>",disabled:!0},arratstart:{val:Boolean(g(c.arrowatstart,1))},arratend:{val:Boolean(g(c.arrowatend,1))},dashed:{val:g(c.dashed)},dashgap:{val:c.dashgap},dashlen:{val:c.dashlen},label:{val:c.label},tooltext:{val:c.tooltext},id:{val:b.id,disabled:!0},strength:{val:c.strength},alpha:{val:c.alpha},color:{val:c.color}},!0)},1E3)},this.graphic=c.path(this.getlinePath(),e).attr({"stroke-width":d,ishot:!0,
"stroke-dasharray":b.dashStyle,cursor:this.link?"pointer":"",stroke:ha(l)}).mousedown(m).mousemove(function(){this.data("fire_click_event",0);bb.call(this)}).mouseup(function(a){bb.call(this);xa.call(this,f,a,"ConnectorClick")}).hover(function(a){xa.call(this,f,a,"ConnectorRollover")},function(a){xa.call(this,f,a,"ConnectorRollout")}).tooltip(s).data("eventArgs",k).data("viewMode",f.options.chart.viewMode),v&&(this.text=c.text(),e.appendChild(this.text),this.text.css(a.style).attr({text:v,x:(z+M)/
2,y:(X+x)/2,fill:a.color,ishot:!0,cursor:this.link?"pointer":"","text-bound":[h(a.backgroundColor,t),h(a.borderColor,t),1,"2"]}).tooltip(s).mousedown(m).mousemove(function(){this.data("fire_click_event",0);bb.call(this)}).hover(function(a){xa.call(this,f,a,"ConnectorRollover")},function(a){xa.call(this,f,a,"ConnectorRollout")}).mouseup(function(a){bb.call(this);xa.call(this,f,a,"ConnectorClick")}).tooltip(s).data("eventArgs",k).data("viewMode",f.options.chart.viewMode)))};Aa.prototype={updateFromPos:function(b,
d){this.fromX=b;this.fromY=d;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},updateToPos:function(b,d){this.toX=b;this.toY=d;this.graphic&&this.graphic.animate({path:this.getlinePath()});this.text&&this.text.animate({x:(this.fromX+this.toX)/2,y:(this.fromY+this.toY)/2})},getlinePath:function(){var b=this.fromPointObj,d=this.toPointObj,a=this.fromX,c=this.fromY,e=this.toX,f=this.toY,p=["M",a,c];this.arrowAtStart&&
(b=b._config,p=b.shapeType===Kb?p.concat(kb(a,c,e,f,b.shapeArg.width,b.shapeArg.height)):p.concat(kb(a,c,e,f,b.shapeArg.radius)));this.arrowAtEnd&&(b=d._config,p=b.shapeType===Kb?p.concat(kb(e,f,a,c,b.shapeArg.width,b.shapeArg.height)):p.concat(kb(e,f,a,c,b.shapeArg.radius)));p.push("L",e,f);return p}};Aa.prototype.constructor=Aa;ab={mouseDown:function(b){delete b.data.point.dragActive},click:function(b){return!b.data.point.dragActive},dragHandler:function(b){var d=b.data,a=b.type,c=d.point,e=d.series,
f=e.chart||e,p=f.tooltip,g=gb&&Qa(b)||Bb,f=f.options.instanceAPI;switch(a){case "dragstart":p.block(!0);d.dragStartY=b.pageY||g.pageY||0;d.dragStartX=b.pageX||g.pageX||0;d.startValue=c.y;d.startXValue=c.x;c.dragActive=!0;e.dragStartHandler&&e.dragStartHandler(d);break;case "dragend":p.block(!1);e.repositionItems(d,d.changeX?(b.pageX||g.pageX||0)-d.dragStartX:0,d.changeY?(b.pageY||g.pageY||0)-d.dragStartY:0,!0);a={dataIndex:c.index+1,datasetIndex:e.index+1,startValue:d.startValue,endValue:c.y,datasetName:e.name};
b=[f.chartInstance.id,a.dataIndex,a.datasetIndex,a.datasetName,a.startValue,a.endValue];d.changeX&&(a.startYValue=d.startValue,a.endYValue=c.y,a.startXValue=d.startXValue,a.endXValue=c.x,b.push(d.startXValue,c.x),delete a.startValue,delete a.endValue);u.raiseEvent("chartupdated",a,f.chartInstance,b);delete d.dragStartY;delete d.dragStartX;delete d.startValue;delete d.startXValue;break;default:e.repositionItems(d,d.changeX?(b.pageX||g.pageX||0)-d.dragStartX:0,d.changeY?(b.pageY||g.pageY||0)-d.dragStartY:
0)}},dragLabelHandler:function(b){var d=b.data,a=b.type,c=d.element,e=d.tracker,f=d.toolTip,p=gb&&Qa(b)||Bb,g=d.series,h,m,q;"dragstart"===a?(f.block(!0),d.dragStartY=b.pageY||p.pageY||0,d.dragStartX=b.pageX||p.pageX||0):(h=d.x+(b.pageX||p.pageX||0)-d.dragStartX,q=h-d.leftDistance,q+d.width>d.plotWidth&&(q=d.plotWidth-d.width),0>q&&(q=0),h=q+d.leftDistance,m=d.y+(b.pageY||p.pageY||0)-d.dragStartY,b=m-d.topDistance,b+d.height>d.plotHeight&&(b=d.plotHeight-d.height),0>b&&(b=0),m=b+d.topDistance,"dragend"===
a?(f.block(!1),d.x=h,d.y=m,delete d.dragStartY,delete d.dragStartX):(c.attr({x:h,y:m}).textBound(),e.attr({x:q,y:b})));"dragend"==a&&(a={hcJSON:{dragableLabels:[]}},a.hcJSON.dragableLabels[d.index]={y:g.yAxis.translate(g.chart.plotHeight-m+d.yAdjustment,1),x:g.xAxis.translate(h,1)},I(g.chart.options.instanceAPI.chartInstance.jsVars._reflowData,a,!0))},pointUpdate:function(b,d,a){b._isUserTooltip||b.toolText===A||b._getTooltext?b._getTooltext&&(b.toolText=b._getTooltext(void 0,void 0,{formattedValue:d},
{value:a})):b.toolText=b._toolTextStr+d;b._isUserValue||b.displayValue===A||(b.displayValue=d)},snapPoint:function(b,d,a){var c=b.options.chart,e=c.snapToDiv,f=c.snapToDivOnly;b=b._yAxisPlotLines;for(var p=S(b[1]-b[0]),c=f?.5*p:c.snapToDivRelaxation,p=d.lastSnap,g=1,h=b.length,m;h--;)if(m=S(b[h]-a),e&&m<c){p!==h&&(d.lastSnap=f?void 0:h,a=b[h]);g=0;break}g&&(d.lastSnap=void 0);return a},setMinMaxValue:function(b){var d=b.options.series;b=b.logic;var a=0,c=Infinity,e=-Infinity,f=b.chartInstance.jsVars._reflowData,
p,g,h,m,q;q=0;for(p=d.length;q<p;q+=1)for(h=d[q]&&d[q].data,a=0,m=h.length;a<m;a+=1)g=h[a].y,null!==g&&(e=e>g?e:g,c=c<g?c:g);b.highValue=e;b.lowValue=c;f.postHCJSONCreation=function(){var a=this.hcJSON[fa][0];a.min=c;a.max=e}},setSelectBoxValues:function(b,d){var a=d.xAxis[0],c=d.yAxis[0],e=d.plotHeight;b.startX=a.translate(b.left,1);b.endX=a.translate(b.left+b.width,1);b.startY=c.translate(e-b.top,1);b.endY=c.translate(e-(b.top+b.height),1)}};r("dragarea",Pa({friendlyName:"Dragable Area Chart",standaloneInit:!0,
creditLabel:da,rendererId:"dragarea",defaultSeriesType:"area",decimals:2,anchorAlpha:"100",eiMethods:r.msareabase.eiMethods},Ia),r.msareabase);r("dragline",Pa({friendlyName:"Dragable Line Chart",standaloneInit:!0,creditLabel:da,decimals:2,defaultSeriesType:"line",rendererId:"dragline",eiMethods:r.mslinebase.eiMethods},Ia),r.mslinebase);r("dragcolumn2d",Pa({friendlyName:"Dragable Column Chart",standaloneInit:!0,creditLabel:da,decimals:2,defaultSeriesType:"column",rendererId:"dragcolumn2d",eiMethods:r.mscolumn2dbase.eiMethods},
Ia),r.mscolumn2dbase);r("selectscatter",{friendlyName:"Dragable Scatter Chart",isXY:!0,standaloneInit:!0,creditLabel:da,defaultSeriesType:"scatter",defaultZeroPlaneHighlighted:!1,spaceManager:Ia.spaceManager,drawButtons:Ia.drawButtons,updateChartWithData:Ia.updateChartWithData,eiMethods:Pa(Pa(Pa({},r.scatterbase.eiMethods),Ia.eiMethods),{getData:function(b){var d=this.jsVars.instanceAPI,a=d.getCollatedData(),c=[],e=a.dataset,f=e&&e.length||0,g=0,l=0;if(b)c=/^json$/ig.test(b)?a:/^csv$/ig.test(b)?d.getCSVString():
D.core.transcodeData(a,"json",b);else for(;g<f;g+=1)if(d=e[g]){for((a=b=(d=e[g]&&e[g].data)&&d.length||0)&&(c[l]||(c[l]=[C(e[g].id,"null")]));a--;)c[l][a+1]=C(d[a].id,"null");b&&(l+=1)}return c}}),getCSVString:function(){for(var b=this.chartInstance.getData(),d=b.length;d--;)b[d]=b[d].join(",");return b.join("|")},getCollatedData:function(){for(var b=this.chartInstance,d=b.jsVars.hcObj._selectEleArr,a=d&&d.length,b=I({},b.getChartData(D.dataFormats.JSON)),c=b.dataset,e,f,g,l,h,m,q,k,n,s=[];a--;)if(e=
d[a])for(m=e.startX,q=e.endX,k=e.startY,n=e.endY,l=c.length;l--;)for(s[l]||(s[l]={data:[]}),h=(g=c[l].data)&&g.length;h--;)f=g[h],e=f.x,f=f.y,e>m&&e<q&&f<k&&f>n&&(s[l].data[h]=!0);for(l=c.length;l--;)for(h=(g=c[l].data)&&g.length;h--;)s[l]&&s[l].data[h]||g.splice(h,1);return this.updatedDataObj=b},createSelectionBox:function(b){var d=b.chart,a=d.paper,c=d.options.chart,e=d.yAxis&&d.yAxis[0],f=d.xAxis&&d.xAxis[0],g=b.selectionLeft,l=b.selectionTop,h=b.selectionWidth;b=b.selectionHeight;var m=g+h,q=
l+b,k=15<h&&15<b,n={resizeEleRadius:15,canvasTop:d.canvasTop,canvasRight:d.canvasLeft+d.canvasWidth,canvasLeft:d.canvasLeft,canvasBottom:d.canvasTop+d.canvasHeight},s=d.layers.tracker,z=d._selectEleArr||(d._selectEleArr=[]);n.index=z.length;n.id="SELECT_"+n.index;n.selectBoxG=s=a.group("selection-box",s).toFront();n.selectBoxTracker=a.rect(g,l,h,b,s).attr({"stroke-width":1,stroke:ha(c.selectBorderColor),ishot:!0,fill:c.selectFillColor}).css({cursor:"move"});n.selectBoxTracker.data("config",{position:6,
selectEleObj:n,xChange:!0,yChange:!0});n.topTracker=a.rect(g,l-6,h,12,s).attr({"stroke-width":0,ishot:!0,fill:sa}).css("cursor",Ta&&"ns-resize"||"n-resize");n.topTracker.data("config",{position:1,selectEleObj:n,yChange:!0});n.rightTracker=a.rect(g+h-6,l,12,b,s).attr({"stroke-width":0,ishot:!0,fill:sa}).css("cursor",Ta&&"ew-resize"||"w-resize");n.rightTracker.data("config",{position:2,selectEleObj:n,xChange:!0});n.bottomTracker=a.rect(g,l+b-6,h,12,s).attr({"stroke-width":0,ishot:!0,fill:sa}).css("cursor",
Ta&&"ns-resize"||"n-resize");n.bottomTracker.data("config",{position:3,selectEleObj:n,yChange:!0});n.leftTracker=a.rect(g-6,l,12,b,s).attr({"stroke-width":0,ishot:!0,fill:sa}).css("cursor",Ta&&"ew-resize"||"e-resize");n.leftTracker.data("config",{position:4,selectEleObj:n,xChange:!0});n.cornerInnerSymbol=a.symbol("resizeIcon",0,0,15,s).attr({transform:"t"+m+","+q,"stroke-width":1,visibility:k?yb:"hidden",ishot:!0,stroke:"#999999"});n.cornerOuterSymbol=a.symbol("resizeIcon",0,0,-12,s).attr({transform:"t"+
m+","+q,strokeWidth:1,visibility:k?"hidden":yb,ishot:!0,stroke:"#777777"});n.resizeTracker=a.circle(m,q,12,s).attr({"stroke-width":1,stroke:sa,ishot:!0,fill:sa}).css("cursor",Ta&&"nwse-resize"||"nw-resize");n.resizeTracker.data("config",{position:5,selectEleObj:n,yChange:!0,xChange:!0});n.closeButton=a.symbol("closeIcon",0,0,6,s).attr({transform:"t"+m+","+l,"stroke-width":2,stroke:c.selectionCancelButtonBorderColor,fill:c.selectionCancelButtonFillColor,"stroke-linecap":"round",ishot:!0,"stroke-linejoin":"round"}).css({cursor:"pointer",
_cursor:"hand"}).click(function(){d.logic.deleteSelection(this,d)});n.closeButton.data("config",{index:n.index});n.chart=d;n.startX=f.getAxisPosition(g,1);n.startY=e.getAxisPosition(l,1);n.endX=f.getAxisPosition(m,1);n.endY=e.getAxisPosition(q,1);n.isVisible=!0;z.push(n);d.logic.bindDragEvent(n)},deleteSelection:function(b,d){var a=b.data("config").index,c=d._selectEleArr,e=c[a],f,g,l;f=e.selectBoxTracker.getBBox();l={selectionLeft:f.x,selectionTop:f.y,selectionWidth:f.width,selectionHeight:f.height,
startXValue:d.xAxis[0].getAxisPosition(f.x,1),startYValue:d.yAxis[0].getAxisPosition(f.y,1),endXValue:d.xAxis[0].getAxisPosition(f.x+f.width,1),endYValue:d.yAxis[0].getAxisPosition(f.y+f.height,1),data:d.logic.getCollatedData(),id:e.id};for(g in e)f=e[g],f.remove&&f.remove(),delete e[g];delete c[a];D.raiseEvent("selectionRemoved",l,d.logic.chartInstance)},bindDragEvent:function(b){for(var d in b)/Tracker/.test(d)&&b[d].drag(this.move,this.start,this.up)},start:function(){var b=this.data("config").selectEleObj,
d=b.topTracker,a=b.rightTracker,c=b.bottomTracker,e=b.leftTracker,f=b.resizeTracker,g=d.data("config"),l=a.data("config"),h=c.data("config"),m=e.data("config"),q=f.data("config"),k=b.selectBoxTracker.data("config"),n=b.selectBoxTracker.getBBox();g.ox=n.x;g.oy=n.y;l.ox=n.x2;l.oy=n.y;h.ox=n.x;h.oy=n.y2;m.ox=n.x;m.oy=n.y;g.ox=n.x;g.oy=n.y;q.ox=n.x2;q.oy=n.y2;k.ox=n.x;k.oy=n.y;k.ow=n.width;k.oh=n.height;k.ox2=n.x2;k.oy2=n.y2;b.selectBoxG.toFront();d.hide();a.hide();c.hide();e.hide();f.hide();this.show()},
move:function(b,d){var a=this.data("config"),c=a.selectEleObj,e=c.chart,f=c.topTracker,g=c.rightTracker,l=c.bottomTracker,h=c.leftTracker,m=c.resizeTracker,q=c.selectBoxTracker,k=c.canvasLeft,n=c.canvasRight,s=c.canvasTop,z=c.canvasBottom,X=q.data("config"),M={},x,v;b=a.xChange?b:0;d=a.yChange?d:0;x=b+a.ox;v=d+a.oy;x=E(n-(a.ow||0),Za(x,k));v=E(z-(a.oh||0),Za(v,s));switch(a.position){case 1:M.y=E(X.oy2,v);M.height=S(X.oy2-v)||1;f.attr({y:v+-6});break;case 2:M.x=E(X.ox,x);M.width=S(X.ox-x)||1;g.attr({x:x+
-6});break;case 3:M.y=E(X.oy,v);M.height=S(X.oy-v)||1;l.attr({y:v+-6});break;case 4:M.x=E(X.ox2,x);M.width=S(X.ox2-x)||1;h.attr({x:x+-6});break;case 5:M.x=E(X.ox,x);M.width=S(X.ox-x)||1;M.y=E(X.oy,v);M.height=S(X.oy-v)||1;m.attr({cx:x,cy:v});break;default:M.x=x,M.y=v}this.data("dragStarted")||(a=q.getBBox(),a={selectionLeft:a.x,selectionTop:a.y,selectionWidth:a.width,selectionHeight:a.height,startXValue:e.xAxis[0].getAxisPosition(a.x,1),startYValue:e.yAxis[0].getAxisPosition(a.y,1),endXValue:e.xAxis[0].getAxisPosition(a.x+
a.width,1),endYValue:e.yAxis[0].getAxisPosition(a.y+a.height,1),id:c.id},D.raiseEvent("BeforeSelectionUpdate",a,e.logic.chartInstance),this.data("dragStarted",1));q.animate(M);c.isVisible&&(c.closeButton.hide(),c.cornerInnerSymbol.hide(),c.cornerOuterSymbol.hide(),c.isVisible=!1)},up:function(){var b=this,d=b.data("config").selectEleObj,a=d.chart,c=a.xAxis&&a.xAxis[0],e=a.yAxis&&a.yAxis[0],f=d.topTracker,g=d.rightTracker,l=d.bottomTracker,h=d.leftTracker,m=d.resizeTracker,q=d.selectBoxTracker,k,n;
setTimeout(function(){k=q.getBBox();d.startX=c.getAxisPosition(k.x,1);d.startY=e.getAxisPosition(k.y,1);d.endX=c.getAxisPosition(k.x2,1);d.endY=e.getAxisPosition(k.y2,1);f.attr({x:k.x,y:k.y+-6,width:k.width});g.attr({x:k.x2+-6,y:k.y,height:k.height});l.attr({x:k.x,y:k.y2+-6,width:k.width});h.attr({x:k.x+-6,y:k.y,height:k.height});m.attr({cx:k.x2,cy:k.y2});d.closeButton.transform("t"+k.x2+","+k.y);d.cornerInnerSymbol.transform("t"+k.x2+","+k.y2);d.cornerOuterSymbol.transform("t"+k.x2+","+k.y2);d.closeButton.show();
15>k.width||15>k.height?(d.cornerInnerSymbol.hide(),d.cornerOuterSymbol.show()):(d.cornerInnerSymbol.show(),d.cornerOuterSymbol.hide());d.isVisible=!0;f.show();g.show();l.show();h.show();m.show();b.data("dragStarted")&&(n={selectionLeft:k.x,selectionTop:k.y,selectionWidth:k.width,selectionHeight:k.height,startXValue:a.xAxis[0].getAxisPosition(k.x,1),startYValue:a.yAxis[0].getAxisPosition(k.y,1),endXValue:a.xAxis[0].getAxisPosition(k.x+k.width,1),endYValue:a.yAxis[0].getAxisPosition(k.y+k.height,1),
data:a.logic.getCollatedData(),id:d.id},D.raiseEvent("SelectionUpdated",n,a.logic.chartInstance),b.data("dragStarted",0))},100)},postSeriesAddition:function(b,d){var a=r.scatter&&r.scatter.postSeriesAddition&&r.scatter.postSeriesAddition.apply(this,arguments),c=b.chart,e=d.chart,f=this.colorManager,p=h(e.selectbordercolor,f.getColor("canvasBorderColor")),l=g(e.selectborderalpha,f.getColor("canvasBorderAlpha"));c.selectBorderColor={FCcolor:{color:p,alpha:l}};c.selectFillColor=y(h(e.selectfillcolor,
f.getColor("altHGridColor")),g(e.selectfillalpha,f.getColor("altHGridAlpha")));c.selectionCancelButtonBorderColor=y(h(e.selectioncancelbuttonbordercolor,p),g(e.selectioncancelbuttonborderalpha,l));c.selectionCancelButtonFillColor=y(h(e.selectioncancelbuttonfillcolor,"FFFFFF"),g(e.selectioncancelbuttonfillalpha,100));b.chart.nativeZoom=!1;c.formAction=C(e.formaction);"0"!==e.submitdataasxml||e.formdataformat||(e.formdataformat=D.dataFormats.CSV);c.formDataFormat=h(e.formdataformat,D.dataFormats.XML);
c.formTarget=h(e.formtarget,"_self");c.formMethod=h(e.formmethod,"POST");c.submitFormAsAjax=g(e.submitformusingajax,1);(b.callbacks||(b.callbacks=[])).push(function(){var a=this.logic;Ya(this,{selectionStart:function(a){var b=dc(a.chart.container,a.originalEvent),b=I({selectionLeft:a.selectionLeft,selectionTop:a.selectionTop,selectionWidth:a.selectionWidth,selectionHeight:a.selectionHeight,startXValue:a.chart.xAxis[0].getAxisPosition(a.selectionLeft,1),startYValue:a.chart.yAxis[0].getAxisPosition(a.selectionTop,
1)},b);D.raiseEvent("selectionStart",b,a.chart.logic.chartInstance)},selectionEnd:function(b){var c=dc(b.chart.container,b.originalEvent),d=b.chart.xAxis[0],e=b.chart.yAxis[0],c=I({selectionLeft:b.selectionLeft,selectionTop:b.selectionTop,selectionWidth:b.selectionWidth,selectionHeight:b.selectionHeight,startXValue:d.getAxisPosition(b.selectionLeft,1),startYValue:e.getAxisPosition(b.selectionTop,1),endXValue:d.getAxisPosition(b.selectionLeft+b.selectionWidth,1),endYValue:e.getAxisPosition(b.selectionTop+
b.selectionHeight,1)},c);D.raiseEvent("selectionEnd",c,b.chart.logic.chartInstance);a.createSelectionBox(b)}})});b.chart.zoomType="xy";return a}},r.scatterbase);r("multiaxisline",{friendlyName:"Multi-axis Line Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"line",rendererId:"multiaxisline",isMLAxis:!0,canvasPaddingModifiers:["anchor","anchorlabel"],drawAxisTrackerAndCheckBox:function(){for(var b=this,d=b.canvasLeft,a=b.canvasTop,c=b.canvasWidth,e=b.canvasHeight,f=b.paper,p=b.yAxis,l=p.length,
h=b.logic,m=0,q=0,k={cursor:"col-resize",_cursor:"e-resize","*cursor":"e-resize"},n=h.chartInstance,s=n.jsVars,z=h.dataObj,X=s._reflowData,M=X.hcJSON||{},x=z.axis,v=z.chart,z=g(v.allowaxisshift,1),qa=(v=g(v.allowselection,1))&&f.html("div",{fill:"transparent",width:b.chartWidth,height:20},{top:"",left:"",fontSize:"10px",lineHeight:"15px",marginTop:-b.chartHeight+"px"},b.container),M=M.yAxis||(M.yAxis=[]),B,r,u,F,A,H,Y=function(a){b.series&&b.series[a]&&b.series[a].setVisible(!1,!1)},K=function(a){var c=
a.data;a=c.axis[c.index].axisData;var d=a._relatedSeries,e=!c.checkBox.checked(),c=x[a._axisposition];d&&ib(d,function(a){b.options.series[a].legendClick(e,!0)});c.hidedataplots=!e;I(X,{preReflowAdjustments:function(){this.dataObj.axis=x}});D.raiseEvent("AxisSelected",{selected:e,AxisId:c._index,AxisConfiguration:a._origAttr||fb(c,a)},b.logic.chartInstance)},w=function(a){var c=a.data;a=c.axis;var c=a[c.index].axisData,d=c.opposite,e=c._axisposition,f=x.length,p,k,l,m={},q=x[e],z={};for(p=0;p<f;p+=
1)k=x[p],k=!g(k.axisonleft,1),k===d&&(l=p,d&&(p=f));l!==e&&(m=a[l],z=x[l],a=x.splice(l,1,x[e]),x.splice(e,1,a[0]));if(l!==e||d!==h.dataObj.chart._lastClickedOpp)I(X,{preReflowAdjustments:function(){this.dataObj.chart._lastClickedOpp=d;this.dataObj.axis=x}}),D.raiseEvent("AxisShifted",{previousDefaultAxisId:z._index,newDefaultAxisId:q._index,previousDefaultAxisConfiguration:m._origAttr||fb(z,m),newDefaultAxisConfiguration:c._origAttr||fb(q,c)},b.logic.chartInstance),D.hcLib.createChart(n,s.container,
s.type,void 0,void 0,!1,!0)};l--;)B=p[l],r=B.axisData,u=r._axisWidth,(F=r.opposite)||(m+=u),M[l]||(M[l]={}),v&&r.showAxis&&(A=d+(F?c+q+g(r.title.margin,u-10)+5:-m),H=a+e+10,B.checkBox=f.html("input",{},{left:A+"px",top:H+"px"}).attr({type:"checkbox"}).add(qa),B.checkBox.val(r.hidedataplots),r.hidedataplots||r._relatedSeries&&ib(r._relatedSeries,Y),rb(B.checkBox.element,gb?"touchstart":"mousedown",K,{axis:p,index:l,checkBox:B.checkBox})),z&&(B.tracker=f.rect(d+(F?c+q:-m),a,u,e,0).attr({"stroke-width":0,
fill:sa,isTracker:+new Date,zIndex:7}).css(k),F&&(q+=u),rb(B.tracker[0],gb?"touchstart":"mousedown",w,{axis:p,index:l}))},series:function(b){var d=this,a=d.numberFormatter,c=d.name,e=d.dataObj,f=e.chart,p=e.axis,l=d.hcJSON,t=l[fa],m=l.yAxis[0],q=g(e.chart.allowselection,1),k=[],n=g(f.showaxisnamesinlegend,0),s=g(f.yaxisvaluesstep,f.yaxisvaluestep,1),z=this.colorManager,X,M,x,v,qa,B,r,u,F,w,H,Y,K,na,C;l.callbacks||(l.callbacks=[]);l.callbacks.push(function(){d.drawAxisTrackerAndCheckBox.call(this)});
l.legend.enabled=Boolean(g(e.chart.showlegend,1));if(p&&0<p.length){this.categoryAdder(e,l);l.yAxis.splice(0,2);B=t.noHiddenAxis=0;for(u=p.length;B<u;B+=1)F=p[B],void 0===F._index&&(F._index=B),F._axisposition=B,(v=!g(F.axisonleft,1))?(F._isSY=!0,k.unshift(F)):(F._isSY=!1,k.push(F));B=0;for(u=k.length;B<u;B+=1)if(F=k[B],qa=g(F.showaxis,1),p=F._index||0,a.parseMLAxisConf(F,p),X=z.getPlotColor(p),F.id=p,K=h(F.color,f.axiscolor,X),w=y(K,100),v=!g(F.axisonleft,1),H=g(F.divlinethickness,f.divlinethickness,
1),M=qa?g(F.tickwidth,f.axistickwidth,2):0,x=qa?g(F.axislinethickness,f.axislinethickness,2):0,Y=t[B]={},Y.showAxis=qa,t.noHiddenAxis+=1-qa,qa&&(v?C=B:na=B),r=[],l.yAxis.push({startOnTick:!1,endOnTick:!1,_axisposition:F._axisposition,_isSY:F._isSY,_index:p,hidedataplots:!g(F.hidedataplots,0),title:{enabled:qa,style:m.title.style,text:qa?G(F.title):A,align:q?"low":"middle",textAlign:q&&v?"right":void 0},labels:{x:0,style:m.labels.style},plotBands:[],plotLines:[],gridLineColor:y(h(F.divlinecolor,K),
g(F.divlinealpha,f.divlinealpha,z.getColor("divLineAlpha"),100)),gridLineWidth:H,gridLineDashStyle:g(F.divlinedashed,F.divlineisdashed,f.divlinedashed,f.divlineisdashed,0)?Ba(g(F.divlinedashlen,f.divlinedashlen,4),g(F.divlinedashgap,f.divlinedashgap,2),H):void 0,alternateGridColor:Ma,lineColor:w,lineWidth:x,tickLength:M,tickColor:w,tickWidth:x,opposite:v,_relatedSeries:r,showAxis:qa}),Y.yAxisValuesStep=g(F.yaxisvaluesstep,F.yaxisvaluestep,s),Y.maxValue=F.maxvalue,Y.tickWidth=M,Y.minValue=F.minvalue,
Y.setadaptiveymin=g(F.setadaptiveymin,f.setadaptiveymin),Y.numDivLines=g(F.numdivlines,f.numdivlines,4),Y.adjustdiv=g(F.adjustdiv,f.adjustdiv),Y.showYAxisValues=qa?g(F.showyaxisvalues,F.showyaxisvalue,f.showyaxisvalues,f.showyaxisvalue,1):0,Y.showLimits=qa?g(F.showlimits,f.showyaxislimits,f.showlimits,Y.showYAxisValues):0,Y.showDivLineValues=qa?g(F.showdivlinevalue,f.showdivlinevalues,F.showdivlinevalues,Y.showYAxisValues):0,Y.showzeroplane=F.showzeroplane,Y.showzeroplanevalue=g(F.showzeroplanevalue),
Y.zeroplanecolor=F.zeroplanecolor,Y.zeroplanethickness=F.zeroplanethickness,Y.zeroplanealpha=F.zeroplanealpha,Y.linecolor=h(F.linecolor,f.linecolor||F.color,X),Y.linealpha=F.linealpha,Y.linedashed=F.linedashed,Y.linethickness=F.linethickness,Y.linedashlen=F.linedashlen,Y.linedashgap=F.linedashgap,Y.anchorShadow=F.anchorshadow,Y.plottooltext=F.plottooltext,F.dataset&&0<F.dataset.length){H=F.dataset.length;X=g(F.includeinlegend,1);v=!1;qa={data:[],relatedSeries:r,name:G(F.title),type:"line",marker:{symbol:"axisIcon",
fillColor:sa,lineColor:lc(K,80).replace(mb,Oa)},lineWidth:0,legendFillColor:0!==n?y(K,25):void 0,legendFillOpacity:0,legendIndex:F._index,showInLegend:Boolean(g(n,X))};l.series.push(qa);for(w=0;w<H;w+=1){x=F.dataset[w];x._yAxisName=F.title;void 0===x.color&&(x.color=h(Y.linecolor,K));M={visible:!g(x.initiallyhidden,0),yAxis:B,data:[],hoverEffects:this.parseSeriesHoverOptions(b,l,x,c)};M=this.point(c,M,x,e.chart,l,t.oriCatTmp.length,B,p);M.legendFillColor=qa.legendFillColor;M.legendIndex=F._index;
if(void 0===M.showInLegend||M.showInLegend)v=!0;!1!==M.showInLegend&&(M.showInLegend=Boolean(X));r.push(l.series.length);l.series.push(M)}0!==r.length&&v||(qa.showInLegend=!1)}b=f._lastClickedOpp?g(C,na):g(na,C);B=0;for(u=l.yAxis.length;B<u;B+=1)B!=b&&(l.yAxis[B].gridLineWidth=0,t[B].zeroplanethickness=0);this.configureAxis(l,e)}},point:function(b,d,a,c,e,f,p,l){b=!1;p=g(c.ignoreemptydatasets,0);var t;t=e.chart;var m=a.data||[],q=e[fa],k=q[d.yAxis||0],n=h(d.type,this.defaultSeriesType),s=e.plotOptions[n]&&
e.plotOptions[n].stacking,z=h(this.isValueAbs,q.isValueAbs,!1),X=g(d.yAxis,0),M=this.numberFormatter,x=this.colorManager,v=J(h(a.color,k.linecolor,c.linecolor,x.getPlotColor())),r=g(a.alpha,k.linealpha,c.linealpha,Ga),B=g(c.showshadow,this.defaultPlotShadow,1),u=g(a.drawanchors,a.showanchors,c.drawanchors,c.showanchors),w=g(a.anchorsides,c.anchorsides,0),F=g(a.anchorstartangle,c.anchorstartangle,90),y=g(a.anchorradius,c.anchorradius,3),H=J(h(a.anchorbordercolor,c.anchorbordercolor,v)),Y=g(a.anchorborderthickness,
c.anchorborderthickness,1),x=J(h(a.anchorbgcolor,c.anchorbgcolor,x.getColor("anchorBgColor"))),K=h(a.anchoralpha,c.anchoralpha,Ga),na=h(a.anchorbgalpha,c.anchorbgalpha,K);d.anchorShadow=K&&h(a.anchorshadow,k.anchorShadow,c.anchorshadow,0);d.name=C(a.seriesname);if(0===g(a.includeinlegend)||void 0===d.name||0===r&&1!==u)d.showInLegend=!1;d.marker={fillColor:{FCcolor:{color:x,alpha:na*K/100+A}},lineColor:{FCcolor:{color:H,alpha:K+A}},lineWidth:Y,radius:y,symbol:ea(w),startAngle:F};d.color={FCcolor:{color:v,
alpha:r}};d.shadow=B?{opacity:B?r/100:0}:!1;d.step=this.stepLine;d.drawVerticalJoins=Boolean(g(c.drawverticaljoins,1));d.useForwardSteps=Boolean(g(c.useforwardsteps,1));d.lineWidth=g(a.linethickness,k.linethickness,c.linethickness,2);c=d._dataParser=Ob.line(e,{plottooltext:h(a.plottooltext,k.plottooltext),seriesname:d.name,lineAlpha:r,anchorAlpha:K,showValues:g(a.showvalues,q.showValues),yAxis:l,lineDashed:Boolean(g(a.dashed,k.linedashed,c.linedashed,0)),lineDashLen:g(a.linedashlen,k.linedashlen,
c.linedashlen,5),lineDashGap:g(a.linedashgap,k.linedashgap,c.linedashgap,4),lineThickness:d.lineWidth,lineColor:v,valuePosition:h(a.valueposition,t.valuePosition),drawAnchors:u,anchorShadow:d.anchorShadow,anchorBgColor:x,anchorBgAlpha:na,anchorBorderColor:H,anchorBorderThickness:Y,anchorRadius:y,anchorSides:w,anchorAngle:F,_sourceDataset:a,_yAxisName:a._yAxisName,hoverEffects:d.hoverEffects},this);delete a._yAxisName;for(l=0;l<f;l+=1)(t=m[l])?(a=M.getCleanValue(t.value,z),null===a?d.data.push({y:null}):
(b=!0,d.data.push(c(t,l,a)),this.pointValueWatcher(e,a,X,s,l,0,n))):d.data.push({y:null});!p||b||this.realtimeEnabled||(d.showInLegend=!1);return d},configureAxis:function(b,d){var a=b[fa],c=d.chart,e,f,p,l,h,m,q,k,n,s,z,X,M;b.xAxis.title.text=G(c.xaxisname);M=0;for(f=b.yAxis.length;M<f;M+=1)e=b.yAxis[M],p=a[M],X=g(p.yAxisValuesStep,1),X=1>X?1:X,l=p.maxValue,h=p.minValue,m=g(p.setadaptiveymin,0),q=m=!m,k=p.numDivLines,n=0!==p.adjustdiv,s=p.showLimits,z=p.showDivLineValues,this.axisMinMaxSetter(e,
p,l,h,m,q,k,n),this.configurePlotLines(c,b,e,p,s,z,X,this.numberFormatter,e._isSY,void 0,e._index),e.reversed&&0<=e.min&&(b.plotOptions.series.threshold=e.max)},spaceManager:function(b,d,a,c){var e=b[fa],f,p,l=d.chart,t,m,q,k,n,s,z,X,M,x,v,r,B,u=e.marginLeftExtraSpace,A=e.marginTopExtraSpace,F=e.marginBottomExtraSpace,w=e.marginRightExtraSpace;n=a-(u+w+b.chart.marginRight+b.chart.marginLeft);var H=c-(F+b.chart.marginBottom+b.chart.marginTop),Y=.3*n;c=.3*H;var K=n-Y;a=H-c;var y=h(l.legendposition,
Fa).toLowerCase();b.legend.enabled&&y===ma&&(K-=this.placeLegendBlockRight(b,d,K/2,H));p=b.yAxis;k=p.length;f=k-e.noHiddenAxis;z=0;if(f)for(x=X=0,v=10,B=K/f,s=k-1;0<=s;s-=1)M=p[s],M.showAxis&&(f=e[s],q=M.opposite,r=(q?x:X)+v,t=f.tickWidth,m=h(l.rotateyaxisname,q?"cw":"ccw"),f.verticalAxisNamePadding=4,f.fixedValuesPadding=t,f.verticalAxisValuesPadding=t,f.rotateVerticalAxisName=q&&"ccw"!==m?"cw":m,f.verticalAxisNameWidth=50,M.offset=r,z=B+z-v,f=Xa(M,f,b,d,H,z,q,0,0),f+=v,q?(x+=f,b.chart.marginRight+=
v):(X+=f,b.chart.marginLeft+=v),z-=f,K-=f,K<v&&(v=0),M._axisWidth=f);K-=$a(b,d,K);p=K+Y;b.legend.enabled&&y!==ma&&(a-=this.placeLegendBlockBottom(b,d,n,a/2),b.legend.width>p&&(b.legend.x=0));a-=this.titleSpaceManager(b,d,p,a/2);f=e.x;f.horizontalAxisNamePadding=g(l.xaxisnamepadding,5);f.horizontalLabelPadding=g(l.labelpadding,2);f.labelDisplay="1"==l.rotatelabels?"rotate":h(l.labeldisplay,"auto").toLowerCase();f.staggerLines=g(l.staggerlines,2);f.slantLabels=g(l.slantlabels,l.slantlabel,0);n={left:0,
right:0};n=b.chart.managePlotOverflow&&this.canvasPaddingModifiers&&this.calculateCanvasOverflow(b,!0)||n;s=n.left+n.right;z=.6*p;s>z&&(X=n.left/s,n.left-=X*(s-z),n.right-=(1-X)*(s-z));this.xAxisMinMaxSetter(b,d,p,n.left,n.right);a-=ob(b.xAxis,f,b,d,p,a,Y);a-=Ab(b,d,a,b.xAxis);d=c+a;for(s=0;s<k;s+=1)Lb(d,b,l,b.yAxis[s],e[s].lYLblIdx);b.legend.enabled&&y===ma&&(e=b.legend,l=c+a,e.height>l&&(e.height=l,e.scroll.enabled=!0,z=(e.scroll.scrollBarWidth=10)+(e.scroll.scrollBarPadding=2),e.width+=z,b.chart.marginRight+=
z),e.y=20);e=b.chart.marginLeft+p/2;l=b.chart.marginLeft;d=-b.chart.marginRight;switch(b.title.align){case Ca:b.title.x=l;break;case ma:b.title.x=d;break;default:b.title.x=e}switch(b.subtitle.align){case Ca:b.subtitle.x=l;break;case ma:b.subtitle.x=d;break;default:b.subtitle.x=e}b.chart.marginLeft+=u;b.chart.marginTop+=A;b.chart.marginBottom+=F;b.chart.marginRight+=w}},r.mslinebase);r("candlestick",{friendlyName:"Candlestick Chart",standaloneInit:!0,creditLabel:da,paletteIndex:3,defaultSeriesType:"candlestick",
canvasborderthickness:1,rendererId:"candlestick",chart:r.errorbar2d.chart,drawErrorValue:r.errorbar2d.drawErrorValue,series:function(b,d,a){var c,e,f=d[fa],p,l,t,m,q,k;c=b.chart;p=d.chart;var n=g(c.showvolumechart,1);l=this.colorManager;var s;d.legend.enabled=Boolean(g(c.showlegend,1));p.rollOverBandColor=y(h(c.rolloverbandcolor,l.getColor("altHGridColor")),h(c.rolloverbandalpha,l.getColor("altHGridAlpha")));if(b.dataset&&0<b.dataset.length){this.categoryAdder(b,d);d.yAxis[0].opposite=!0;f.numdivlines=
C(b.chart.numpdivlines);n&&(s=d._FCconf.numberFormatter,p=d.labels,d._FCconf.numberFormatter={},d._FCconf.smartLabel&&(e=d._FCconf.smartLabel,d._FCconf.smartLabel=void 0),d.labels={},t=I({},d),d._FCconf.numberFormatter=s,d._FCconf.smartLabel=e,d.labels=p,e&&(t._FCconf.smartLabel=e),t._FCconf.numberFormatter=new u.NumberFormatter(I(I({},c),{forcedecimals:aa(c.forcevdecimals,c.forcedecimals),forceyaxisvaluedecimals:aa(c.forcevyaxisvaluedecimals,c.forceyaxisvaluedecimals),yaxisvaluedecimals:aa(c.vyaxisvaluedecimals,
c.yaxisvaluedecimals),formatnumber:aa(c.vformatnumber,c.formatnumber),formatnumberscale:aa(c.vformatnumberscale,c.formatnumberscale),defaultnumberscale:aa(c.vdefaultnumberscale,c.defaultnumberscale),numberscaleunit:aa(c.vnumberscaleunit,c.numberscaleunit),vnumberscalevalue:aa(c.vnumberscalevalue,c.numberscalevalue),scalerecursively:aa(c.vscalerecursively,c.scalerecursively),maxscalerecursion:aa(c.vmaxscalerecursion,c.maxscalerecursion),scaleseparator:aa(c.vscaleseparator,c.scaleseparator),numberprefix:aa(c.vnumberprefix,
c.numberprefix),numbersuffix:aa(c.vnumbersuffix,c.numbersuffix),decimals:aa(c.vdecimals,c.decimals)}),this),I(t,{chart:{backgroundColor:"rgba(255,255,255,0)",borderColor:"rgba(255,255,255,0)",animation:!1},title:{text:null},subtitle:{text:null},legend:{enabled:!1},credits:{enabled:!1},xAxis:{opposite:!0,labels:{enabled:!1}},yAxis:[{opposite:!0,title:{},plotBands:[],plotLines:[]},{opposite:!1,title:{text:b.chart.vyaxisname}}]}),s=d.subCharts=[t]);c=0;for(e=b.dataset.length;c<e;c+=1)p={numColumns:e,
data:[]},l=b.dataset[c],p=this.point(a,p,l,b.chart,d,f.oriCatTmp.length,c),p instanceof Array?(n&&(t.series.push({type:"column",data:p[1]}),t.showVolume=!0,l=g(b.chart.volumeheightpercent,40),l=20>l?20:80<l?80:l,m=f.height-(d.chart.marginBottom+d.chart.marginTop),q=m*l/100,k=d.chart.marginBottom+q,t[fa].marginTop=k+40,t.yAxis[0].plotBands=[],t.yAxis[0].plotLines=[],t.exporting.enabled=!1,t.yAxis[0].title.text=G(C(b.chart.vyaxisname)),t.yAxis[0].title.align="low",t.chart.height=q+20,t.chart.width=
f.width,t.chart.top=m-q,t.chart.left=0,t.chart.volumeHeightPercent=l),d.series.push(p[0])):d.series.push(p);if(b.trendset&&0<b.trendset.length)for(c=0,e=b.trendset.length;c<e;c+=1)p={type:"line",marker:{enabled:!1},connectNullData:1,data:[]},t=b.trendset[c],t.data&&0<t.data.length&&(p=this.getTrendsetPoint(a,p,t,b.chart,d,f.oriCatTmp.length,c),d.series.push(p));b.chart.showdivlinesecondaryvalue=0;b.chart.showsecondarylimits=0;this.configureAxis(d,b);d.yAxis[1].opposite=!1;d.yAxis[1].min=d.yAxis[0].min;
d.yAxis[1].max=d.yAxis[0].max;d.yAxis[1].title.text=d.yAxis[0].title.text;d.yAxis[0].title.text=A;n&&s&&(s=s[0],a=s[fa],a.numdivlines=C(b.chart.numvdivlines),a[0].min=f.volume&&f.volume.min,a[0].max=f.volume&&f.volume.max,s.series&&s.series[0]&&(s.series[0].showInLegend=!1),this.configureAxis(s,b),s.yAxis[0].title.text=G(C(b.chart.vyaxisname)),s.yAxis[1].min=s.yAxis[0].min,s.yAxis[1].max=s.yAxis[0].max,s.yAxis[1].title.text=s.yAxis[0].title.text,s.yAxis[0].title.text=A);if((a=b.trendlines&&b.trendlines[0]&&
b.trendlines[0].line)&&a.length){for(n=0;n<a.length;n+=1)a[n].parentyaxis="s",a[n].valueonleft="1";Zb(b.trendlines,d.yAxis,f,!0,this.isBar)}}},getTrendsetPoint:function(b,d,a,c,e){if(a.data){b=a.data;var f=b.length,p=0,l,t,m,q,k,n=e[fa],s=this.numberFormatter,z=g(d.yAxis,0),n=n.toolTextStore,f=J(h(a.color,c.trendsetcolor,"666666")),p=h(a.alpha,c.trendsetalpha,"100");l=g(a.thickness,c.trendsetthickness,2);t=Boolean(g(a.dashed,c.trendsetdashed,0));m=g(a.dashlen,c.trendsetdashlen,4);q=g(a.dashgap,c.trendsetdashgap,
4);k=h(a.includeinlegend,1);d.color=y(f,p);d.lineWidth=l;d.dashStyle=t?Ba(m,q):void 0;d.includeInLegend=k;d.name=C(a.name);d.doNotUseBand=!0;if(0===g(a.includeinlegend)||void 0===d.name)d.showInLegend=!1;d.tooltip={enabled:!1};p=c.interactivelegend=0;for(f=b.length;p<f;p+=1)(c=b[p])&&!c.vline&&(a=s.getCleanValue(c.value),c=s.getCleanValue(c.x),c=null!==c?c:p+1,l=n&&n[c],d.data.push({x:c,y:a,toolText:l}),this.pointValueWatchers(e,null,a,a,null,z))}return d},point:function(b,d,a,c,e){if(a.data){b=r[b];
var f=e[fa],p=C(c.plotpriceas,A).toLowerCase(),l=a.data,t=l&&l.length,m=this.numberFormatter,q=[],k=[],n={},s,z,X,M=!1,x=g(d.yAxis,0),v=J(h(c.bearbordercolor,"B90000")),qa=J(h(c.bearfillcolor,"B90000")),B=this.colorManager,u=J(h(c.bullbordercolor,B.getColor("canvasBorderColor"))),w=J(h(c.bullfillcolor,"FFFFFF")),F=d.lineWidth=g(c.plotlinethickness,"line"==p||"bar"==p?2:1),bd=h(c.plotlinealpha,"100"),H=g(c.plotlinedashlen,5),Y=g(c.plotlinedashgap,4),K=g(c.vplotborderthickness,1),na=!!g(c.drawanchors,
1),D=g(c.anchorsides,0),pa=g(c.anchorstartangle,90),I=g(c.anchorradius,this.anchorRadius,3),P=J(h(c.anchorbordercolor,u)),V=g(c.anchorborderthickness,this.anchorBorderThickness,1),B=J(h(c.anchorbgcolor,B.getColor("anchorBgColor"))),O=h(c.anchoralpha,"0"),N=h(c.anchorbgalpha,O),ca,W,Q,Na,T,$,ha,U,L,ba,Z,da,ja,oa,la,ta=!1;d.name=C(a.seriesname);d.showInLegend=!1;d.marker={};switch(p){case "line":d.plotType="line";break;case "bar":d.plotType="candlestickbar";break;default:d.plotType="column",d.errorBarWidthPercent=
0,ta=!0}for(W=0;W<t;W+=1)(Q=l[W])&&!Q.vline&&(ha=m.getCleanValue(Q.open),U=m.getCleanValue(Q.close),L=m.getCleanValue(Q.high),ba=m.getCleanValue(Q.low),Z=m.getCleanValue(Q.volume,!0),oa=m.getCleanValue(Q.x),ta&&S(U-ha),E(ha,U),Za(ha,U),null!==Z&&(M=!0),da=E(ha,U,L,ba),ja=Za(ha,U,L,ba),G(C(Q.valuetext,A)),s=J(h(Q.bordercolor,U<ha?v:u)),z=h(Q.alpha,"100"),p=y(J(h(Q.color,U<ha?qa:w)),z),X=Boolean(g(Q.dashed))?Ba(H,Y):void 0,ca={opacity:z/100},T=f.oriCatTmp[W],la=y(s,bd),Na=b.getPointStub(e,c,Q,ha,U,
L,ba,Z,la,F,d.plotType,T),oa=oa?oa:W+1,n[oa]=Na.toolText,d.data.push({high:Za(ha,U,L,ba),low:E(ha,U,L,ba),color:ta?p:{FCcolor:{color:s,alpha:z}},displayValue:G(h(Q.displayvalue,Q.valuetext,A)),borderColor:la,shadow:ca,dashStyle:X,borderWidth:F,x:oa,y:Na.y,categoryLabel:T,errorValue:Na.errorValue,previousY:Na.previousY,toolText:Na.toolText,link:Na.link,marker:{enabled:na,fillColor:{FCcolor:{color:B,alpha:N*O/100+A}},lineColor:{FCcolor:{color:P,alpha:O}},lineWidth:V,radius:I,startAngle:pa,symbol:ea(D)}}),
$=C(G(h(Q.volumetooltext,a.volumetooltext,c.volumetooltext))),$=void 0!==$?b.getPointStub(e,c,Q,ha,U,L,ba,Z,la,F,d.plotType,T,$).toolText:Na.toolText,k.push({y:Z,categoryLabel:T,color:y(p,z),toolText:$,borderWidth:K,borderColor:y(s,h(c.plotlinealpha,Q.alpha)),dashStyle:X,shadow:ca,x:oa,link:Q.link}),this.pointValueWatchers(e,oa,da,ja,Z,x));f.toolTextStore=n;(d.drawVolume=M)?q.push(d,k):q=d;return q}return[]},getPointStub:function(b,d,a,c,e,f,g,l,t,m,q,k,n){var s=A,s=b[fa],z=s.numberFormatter,X="line"===
q,M=E(c,e),x=Za(c,e),v={};b=b.subCharts&&b.subCharts[0]&&b.subCharts[0][fa].numberFormatter||z;switch(q){case "line":v.y=e;v.link=h(a.link);break;case "column":v.y=S(e-c);v.previousY=M;v.link=h(a.link);v.errorValue=[];0<f-x&&v.errorValue.push({errorValue:f-x,errorStartValue:x,errorBarColor:t,errorBarThickness:m,opacity:1});0>g-M&&v.errorValue.push({errorValue:g-M,errorStartValue:M,errorBarColor:t,errorBarThickness:m,opacity:1});break;default:v.y=c,v.previousY=e,v.link=h(a.link)}s.showTooltip?(s=C(G(h(n,
a.tooltext,s.tooltext))),void 0!==s?s=cb(s,[3,5,6,10,54,55,56,57,58,59,60,61,81,82],{label:k,yaxisName:G(d.yaxisname),xaxisName:G(d.xaxisname),openValue:a.open,openDataValue:z.dataLabels(c),closeValue:a.close,closeDataValue:z.dataLabels(e),highValue:a.high,highDataValue:z.dataLabels(f),lowValue:a.low,lowDataValue:z.dataLabels(g),volumeValue:a.volume,volumeDataValue:z.dataLabels(l)},a,d):(s=null===c||X?A:"<b>Open:</b> "+z.dataLabels(c)+"<br/>",s+=null!==e?"<b>Close:</b> "+z.dataLabels(e)+"<br/>":A,
s+=null===f||X?A:"<b>High:</b> "+z.dataLabels(f)+"<br/>",s+=null===g||X?A:"<b>Low:</b> "+z.dataLabels(g)+"<br/>",s+=null!==l?"<b>Volume:</b> "+b.dataLabels(l):A)):s=A;v.toolText=s;return v},pointValueWatchers:function(b,d,a,c,e,f){var p=b[fa];f=g(f,0);null!==e&&(b=p.volume,b||(b=p.volume={}),b.max=b.max>e?b.max:e,b.min=b.min<e?b.min:e);null!==a&&(b=p[f],!b.max&&0!==b.max&&(b.max=a),!b.min&&0!==b.min&&(b.min=a),b.max=Za(b.max,a),b.min=E(b.min,a));null!==c&&(b=p[f],!b.max&&0!==b.max&&(b.max=c),!b.min&&
0!==b.min&&(b.min=c),b.max=Za(b.max,c),b.min=E(b.min,c));null!==d&&(a=p.x,a.max=a.max>d?a.max:d,a.min=a.min<d?a.min:d)},spaceManager:function(b,d,a,c){var e=b[fa],f,p=d.chart,l=b.chart,t,m,q=this.smartLabel||e.smartLabel,k=e.x.min,n=e.x.max,s,z,X=c-(e.marginBottomExtraSpace+0+l.marginTop),M=b.yAxis,x;m=M.length;var v,r,B=0,u=0,w=8,F,y=Za(g(l.plotBorderWidth,1),0),H;this.base.spaceManager.apply(this,arguments);b.xAxis.min=k-.5;b.xAxis.max=n+.5;b.yAxis[0].title.centerYAxis=b.yAxis[1].title.centerYAxis=
!0;if(b.subCharts){k=b.subCharts[0];B=b.xAxis.showLine?b.xAxis.lineThickness:y;H=c-(l.marginTop+l.marginBottom+B+y);u=k.chart.volumeHeightPercent;n=(e.horizontalAxisHeight||15)+y;H=H*u/100;l.marginBottom+=H+B+y;m=I({},b.xAxis);u=0;for(w=b.xAxis.plotBands.length;u<w;u+=1)(f=b.xAxis.plotBands[u])&&f.label&&f.label.text&&(f.label.text=" "),(f=m.plotBands[u])&&f.label&&f.label.y&&(f.label.y=Ka(p.basefontsize,10)+4+B);u=0;for(w=m.plotLines.length;u<w;u+=1)(f=m.plotLines[u])&&f.label&&f.label.text&&(f.label.text=
A);k.yAxis&&k.yAxis[0]&&k.yAxis[0].title&&k.yAxis[0].title.text&&(k.yAxis[0].title.text=A);k.xAxis=m;m=h(d.chart.rotateyaxisname,"ccw");m=m===Ja?"none":m;q=M[1].title.rotation?q.getSmartText(k.yAxis[1].title.text,"none"===m?l.marginLeft-10:H,void 0,!0).text:q.getSmartText(k.yAxis[1].title.text,q.getOriSize(M[1].title.text).width,void 0,!0).text;M=k.yAxis;m=M.length;w=u=B=0;for(v=m-1;0<=v;v-=1)r=M[v],f=e[v],x=r.opposite,F=(x?u:B)+w,m=h(d.chart.rotateyaxisname,x?"cw":"ccw"),m=m===Ja?"none":m,t=g(p.yaxisvaluespadding,
p.labelypadding,4),t<y&&(t=y),f.verticalAxisNamePadding=10,f.verticalAxisValuesPadding=t+(r.showLine?r.lineThickness:0),f.rotateVerticalAxisName=m,r.offset=F,x?s=Xa(r,f,k,d,X,l.marginRight,!!x,0,0,u):z=Xa(r,f,k,d,X,l.marginLeft,!!x,0,0,B);M=b.yAxis;k.yAxis[1].title=I({},b.yAxis[1].title);k.yAxis[1].title.style=b.orphanStyles.vyaxisname.style;k.yAxis[1].title.text=q;k.chart.left=0;k.chart.width=a;k.chart.top=c-l.marginBottom+n;k.chart.height=l.marginBottom-n;s=Math.max(l.marginRight,s+l.spacingRight);
z=Math.max(l.marginLeft,z+l.spacingLeft);k.chart.marginLeft=l.marginLeft=z;k.chart.marginRight=l.marginRight=s;k.chart.marginTop=5;k.chart.marginBottom=l.marginBottom-(n+H);b.yAxis.push(k.yAxis[0],k.yAxis[1]);k.xAxis.startY=M[2].startY=M[3].startY=k.chart.top+k.chart.marginTop;k.xAxis.endY=M[2].endY=M[3].endY=k.yAxis[0].startY+k.chart.height-k.chart.marginBottom;k.series[0]&&(k.series[0].yAxis=3,b.series.push(k.series[0]));b.xAxis=[b.xAxis,k.xAxis];b.yAxis[2].title.centerYAxis=b.yAxis[3].title.centerYAxis=
!0}},isDual:!0,numVDivLines:0,defSetAdaptiveYMin:!0,divLineIsDashed:1,isCandleStick:!0,defaultPlotShadow:1,requiredAutoNumericLabels:1},r.scatterbase);r("kagi",{friendlyName:"Kagi Chart",standaloneInit:!0,stepLine:!0,creditLabel:da,defaultSeriesType:"kagi",defaultZeroPlaneHighlighted:!1,setAdaptiveYMin:1,canvasPadding:15,isKagi:1,rendererId:"kagi",pointValueWatcher:function(b,d,a){null!==d&&(b=b[fa],a=g(a,0),b[a]||(b[a]={}),a=b[a],this.maxValue=a.max=a.max>d?a.max:d,this.minValue=a.min=a.min<d?a.min:
d)},point:function(b,d,a,c,e){b=e.chart;var f=a.length,p=0,l=e[fa].x,t=e[fa].numberFormatter,m=this.colorManager,q,k,n,s,z,r,M,x,v,u,B,w,y,F,C,H,Y,K,na,E,pa,D,P;x=J(h(c.linecolor,c.palettecolors,m.getColor("plotFillColor")));v=g(c.linealpha,100);q=g(c.linethickness,2);d.color={FCcolor:{color:x,alpha:v}};na=d.anchorShadow=g(c.anchorshadow,0);d.lineWidth=q;d.step=this.stepLine;d.drawVerticalJoins=Boolean(g(c.drawverticaljoins,1));M=g(c.drawanchors,c.showanchors);for(k=0;k<f;k+=1)s=a[k],s.vline||(q=
t.getCleanValue(s.value),null!=q&&(n=g(s.showlabel,c.showlabels,1),n=G(n?aa(s.label,s.name):A),p+=1,r=g(s.linealpha,v),z={opacity:r/100},u=g(s.anchorsides,c.anchorsides,0),K=g(s.anchorstartangle,c.anchorstartangle,90),y=g(s.anchorradius,c.anchorradius,this.anchorRadius,3),w=J(h(s.anchorbordercolor,c.anchorbordercolor,x)),B=g(s.anchorborderthickness,c.anchorborderthickness,this.anchorBorderThickness,1),F=J(h(s.anchorbgcolor,c.anchorbgcolor,m.getColor("anchorBgColor"))),C=h(s.anchoralpha,c.anchoralpha,
"100"),H=h(s.anchorbgalpha,c.anchorbgalpha,C),r=void 0===M?0!==r:!!M,E=Boolean(g(s.anchorshadow,na,0)),pa=h(s.anchorimageurl,c.anchorimageurl),D=h(s.anchorimagescale,c.anchorimagescale,100),P=h(s.anchorimagealpha,c.anchorimagealpha,100),Y=this.pointHoverOptions(s,d,{plotType:"anchor",anchorBgColor:F,anchorAlpha:C,anchorBgAlpha:H,anchorAngle:K,anchorBorderThickness:B,anchorBorderColor:w,anchorBorderAlpha:C,anchorSides:u,anchorRadius:y,imageUrl:pa,imageScale:D,imageAlpha:P,shadow:z}),d.data.push(I(this.getPointStub(s,
q,n,e),{y:q,color:x,shadow:z,dashStyle:s.dashed,valuePosition:h(s.valueposition,b.valuePosition),isDefined:!0,marker:{enabled:!!r,shadow:E&&{opacity:C/100},fillColor:{FCcolor:{color:F,alpha:H*C/100+A}},lineColor:{FCcolor:{color:w,alpha:C}},lineWidth:B,radius:y,startAngle:K,symbol:ea(u),imageUrl:pa,imageScale:D,imageAlpha:P},hoverEffects:Y.enabled&&Y.options,rolloverProperties:Y.enabled&&Y.rolloverOptions})),this.pointValueWatcher(e,q)));l.catCount=p;return d},postSeriesAddition:function(b,d){var a=
b.series[0],c=d.chart,e=d.data,f=a&&a.data,p=f&&f.length,l=b[fa],t=l.x,l=l.axisGridManager,m=b.xAxis,q=!1,k=0,n=.5,s=g(c.reversalvalue,-1),p=g(c.reversalpercentage,5),z=this.maxValue,r=this.minValue,M,x,v,u,B,w,y,F,C,H,Y,K,na,E,pa,D,P={};if(f&&f.length){a.rallyColor=h(c.rallycolor,"FF0000");a.rallyAlpha=g(c.rallyalpha,c.linealpha,100);a.declineColor=h(c.declinecolor,"0000FF");a.declineAlpha=g(c.declinealpha,c.linealpha,100);a.rallyThickness=g(c.rallythickness,c.linethickness,2);B=g(c.rallydashlen,
c.linedashlen,5);K=g(c.rallydashgap,c.linedashgap,4);a.declineThickness=g(c.declinethickness,c.linethickness,2);na=g(c.declinedashlen,c.linedashlen,5);E=g(c.declinedashgap,c.linedashgap,4);a.lineDashed={"true":g(c.rallydashed,c.linedashed,0),"false":g(c.declinedashed,c.linedashed,0)};a.rallyDashed=g(c.rallydashed,c.linedashed,0)?Ba(B,K,a.rallyThickness):void 0;a.declineDashed=g(c.declinedashed,c.linedashed,0)?Ba(na,E,a.declineThickness):void 0;a.canvasPadding=g(c.canvaspadding,this.canvasPadding,
15);s=0<s?s:p*(z-r)/100;z=f[0].y;r=function(a,b){for(var c,d=1,e=f[0].y;d<a;)c=f[d].y,b?c<=e&&(f[d].isDefined=!1):c>=e&&(f[d].isDefined=!1),d+=1;f[0].vAlign=b?Fa:Ea;f[0].align="center"};p=e&&e.length;for(E=na=0;E<p;E+=1)if((K=e[E])&&K.vline)na&&l.addVline(m,K,n,b);else{P=e[E];D&&(D=!1,n+=.5);if(na&&(C=f[na])){H=f[na-1];C.vAlign="middle";C.align=ma;C.showLabel=!1;B=null;u=C.y;v=f[na+1]&&f[na+1].y;Y=S(z-u);q?u<w&&M?M=!1:u>y&&!M&&(M=!0):(u>z&&Y>s?(M=!0,w=z,y=null,q=x=!0,r(na,M)):u<z&&Y>s?(M=!1,w=null,
y=z,x=!1,q=!0,r(na,M)):(x=M=null,q=!1),U(H)&&(H.isRally=M),null!=M&&(f[0].isRally=M));C.isRally=M;if(x&&u<z||!x&&u>z)B=z;pa=B?B:u;Y=S(pa-v);v=null==x?null:x?pa>v&&Y>=s:pa<v&&Y>=s;if(H&&H.isShift)for(x?(w=z,F=Fa):x||(y=z,F=Ea),H=na;1<H;H-=1)if(f[H].y==z){f[H].vAlign=F;f[H].align="center";f[H].showLabel=!0;break}v?(k+=1,n+=.5,D=!0,x=!x,C.isShift=!0,z=pa,u=g(K.showlabel,c.showlabels,1),u=G(u?aa(K.label,K.name):A),l.addXaxisCat(m,k-1,k-1,u,K,{},c)):x&&u>z||!x&&u<z?z=u:B=z;C.plotValue=B;C.objParams={isRally:M,
lastHigh:y,lastLow:w,isRallyInitialised:q}}na+=1}u=g(P.showlabel,c.showlabels,1);u=G(u?aa(P.label,P.name):A);l.addXaxisCat(m,k,k,u,P,{},c);a.shiftCount=t.catCount=k+1}},xAxisMinMaxSetter:function(b,d,a){var c=b[fa].x,e=d.chart;d=c.min=g(c.min,0);var c=c.max=g(c.max,c.catCount-1),f=b.xAxis,p=E(g(e.canvaspadding,0),a/2-10),l=p,h=g(e.maxhshiftpercent,10),m=b.series[0];b=m&&m.shiftCount;var e=g(e.canvaspadding,this.canvasPadding,15),q=a-2*e;m&&(l=m.xShiftLength=E(q/b,(0>=h?10:h)*q/100),p=e+l/2,l=a-(l*
Za(b-1,1)+p),c=Za(c,1));f.labels.enabled=!1;f.gridLineWidth=0;f.alternateGridColor=Ma;a=(a-(p+l))/(c-d+0);f.min=d-(0+p/a);f.max=c+(0+l/a)}},r.linebase);Ha=function(b,d,a){this.nf=d;this.dataSeparator=a;this.method=(b||A).toLowerCase().replace(/\s/g,"")};Ha.prototype={setArray:function(b){var d=this.nf,a=this.dataSeparator,c=0;!b&&(b=A);for(b=this.dataLength=(a=b.replace(/\s/g,A).split(a))&&a.length;b--;)c+=a[b]=d.getCleanValue(a[b]);a&&a.sort(function(a,b){return a-b});this.values=a;this.mean=c/this.dataLength;
this.getFrequencies()},getQuartiles:function(){var b=this.values,d=this.dataLength,a=d%2,c,e;switch(this.method){case "tukey":a?(a=(d+3)/4,d=(3*d+1)/4):(a=(d+2)/4,d=(3*d+2)/4);break;case "mooremccabe":a?(a=(d+1)/4,d=3*a):(a=(d+2)/4,d=(3*d+2)/4);break;case "freundperles":a=(d+3)/4;d=(3*d+1)/4;break;case "mendenhallsincich":a=ra((d+1)/4);d=ra(3*a);break;default:a=(d+1)/4,d=3*a}a-=1;d-=1;c=Yb(a);e=Yb(d);a=a-c?b[c]+(b[jc(a)]-b[c])*(a-c):b[a];b=d-e?b[e]+(b[jc(d)]-b[e])*(d-e):b[d];return this.quartiles=
{q1:a,q3:b}},getMinMax:function(){var b=this.values;return{min:b[0],max:b[this.dataLength-1]}},getMean:function(){return this.mean},getMD:function(){for(var b=this.mean,d=this.frequencies,a=d.length,c,e=0;a--;)c=d[a],e+=c.frequency*S(c.value-b);return e/this.dataLength},getSD:function(){for(var b=this.mean,d=this.values,a=this.dataLength,c=a,e=0;a--;)e+=L(d[a]-b,2);return Ac(e)/c},getQD:function(){return.5*(this.quartiles.q3-this.quartiles.q1)},getFrequencies:function(){var b=[],d=this.dataLength,
a=this.values,c=0,e,f,g;for(g=0;g<d;g+=1)c+=e=a[g],U(b[g])?b[g].frequency+=1:(f={},f.value=e,f.frequency=1,b[g]=f);this.sum=c;this.frequencies=b},getMedian:function(){var b=this.dataLength,d=.5*b,a=this.values;return 0===b%2?(a[d]+a[d-1])/2:a[Yb(d)]}};Ha.prototype.constructor=Ha;r("boxandwhisker2d",{friendlyName:"Box and Whisker Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"boxandwhisker2d",chart:r.errorbar2d.chart,drawErrorValue:r.errorbar2d.drawErrorValue,decimals:2,maxColWidth:9E3,
useErrorAnimation:1,avoidCrispError:0,tooltipsepchar:": ",rendererId:"boxandwhisker",fireGroupEvent:!0,point:function(b,d,a,c,e,f,p,l,t){var m=e[fa],q=g(c.ignoreemptydatasets,0),k=m.numberFormatter,n=e.chart.useRoundEdges,s=g(c.showshadow,1),z=this.colorManager,r=","+(g(c.useplotgradientcolor,0)?Jb(c.plotgradientcolor,z.getColor("plotGradientColor")):A),M=2*p,x=g(c.plotborderthickness,1),v=h(c.plotbordercolor,z.getColor("plotBorderColor")).split(",")[0],u=h(c.plotborderalpha,"100"),B="0"==c.showplotborder?
"0":u,w=g(a.dashed,c.plotborderdashed,0),va=g(a.dashlen,c.plotborderdashlen,5),F=g(a.dashgap,c.plotborderdashgap,4),D=h(a.upperboxcolor,c.upperboxcolor,z.getPlotColor(M)),H=h(a.lowerboxcolor,c.lowerboxcolor,z.getPlotColor(M+1)),Y=g(a.upperboxalpha,c.upperboxalpha),K=g(a.lowerboxalpha,c.lowerboxalpha),na=h(a.upperwhiskercolor,c.upperwhiskercolor,v),J=h(a.lowerwhiskercolor,c.lowerwhiskercolor,v),pa=g(a.upperwhiskeralpha,c.upperwhiskeralpha,c.plotborderalpha,"100"),Rb=g(a.lowerwhiskeralpha,c.lowerwhiskeralpha,
c.plotborderalpha,"100"),P=g(a.upperwhiskerthickness,c.upperwhiskerthickness,x),V=g(a.lowerwhiskerthickness,c.lowerwhiskerthickness,x),O=h(a.upperwhiskerdashed,c.upperwhiskerdashed,0),N=h(a.lowerwhiskerdashed,c.lowerwhiskerdashed,0),ca=h(a.upperwhiskerdashlen,c.upperwhiskerdashlen,5),W=h(a.lowerwhiskerdashlen,c.lowerwhiskerdashlen,5),Q=h(a.upperwhiskerdashgap,c.upperwhiskerdashgap,4),Na=h(a.lowerwhiskerdashgap,c.lowerwhiskerdashgap,4),T=h(a.upperquartilecolor,c.upperquartilecolor,v),$=h(a.lowerquartilecolor,
c.lowerquartilecolor,v),S=h(a.upperboxbordercolor,c.upperboxbordercolor,v),L=h(a.lowerboxbordercolor,c.lowerboxbordercolor,v),Z=h(a.mediancolor,c.mediancolor,v),ba=h(a.upperquartilealpha,c.upperquartilealpha,n?0:u),da=h(a.lowerquartilealpha,c.lowerquartilealpha,n?0:u),ga=h(a.upperboxborderalpha,c.upperboxborderalpha,n?0:B),ja=h(a.lowerboxborderalpha,c.lowerboxborderalpha,n?0:B),oa=h(a.medianalpha,c.medianalpha,u),la=h(a.upperquartilethickness,c.upperquartilethickness,x),ta=h(a.lowerquartilethickness,
c.lowerquartilethickness,x),fc=h(a.upperboxborderthickness,c.upperboxborderthickness,x),ya=h(a.lowerboxborderthickness,c.lowerboxborderthickness,x),aa=h(a.medianthickness,c.medianthickness,x),ia=h(a.upperquartiledashed,c.upperquartiledashed,w),ua=h(a.lowerquartiledashed,c.lowerquartiledashed,w),za=h(a.upperboxborderdashed,c.upperboxborderdashed,w),tb=h(a.lowerboxborderdashed,c.lowerboxborderdashed,w),cd=h(a.mediandashed,c.mediandashed,w),ra=h(a.upperquartiledashlen,c.upperquartiledashlen,va),Cc=h(a.lowerquartiledashlen,
c.lowerquartiledashlen,va),sa=h(a.upperboxborderdashlen,c.upperboxborderdashlen,va),ka=h(a.lowerboxborderdashlen,c.lowerboxborderdashlen,va),xa=h(a.mediandashlen,c.mediandashlen,va),ma=h(a.upperquartiledashgap,c.upperquartiledashgap,F),Aa=h(a.lowerquartiledashgap,c.lowerquartiledashgap,F),wa=h(a.upperboxborderdashgap,c.upperboxborderdashgap,F),Da=h(a.lowerboxborderdashgap,c.lowerboxborderdashgap,F),Ha=h(a.mediandashgap,c.mediandashgap,F),Ea={},Fa={},Ga={},Ia={},Ca={},Ja=[],Ka=[],La=[],Pa=[],Qa=[],
Oa={polygon:"polygon",spoke:"spoke"},Ra=Oa[h(a.meaniconshape,c.meaniconshape,"polygon").toLowerCase()]||"polygon",Ua=g(a.meaniconradius,c.meaniconradius,5),Sa=g(a.meaniconsides,c.meaniconsides,3),Ta=h(a.meaniconcolor,c.meaniconcolor,"000000"),Va=h(a.meaniconbordercolor,c.meaniconbordercolor,"000000"),Ya=g(a.meaniconalpha,c.meaniconalpha,100),Xa=Oa[h(a.sdiconshape,c.sdiconshape,"polygon").toLowerCase()]||"polygon",$a=g(a.sdiconradius,c.sdiconradius,5),bb=g(a.sdiconsides,c.sdiconsides,3),ab=h(a.sdiconcolor,
c.sdiconcolor,"000000"),cb=h(a.sdiconbordercolor,c.sdiconbordercolor,"000000"),fb=g(a.sdiconalpha,c.sdiconalpha,100),eb=Oa[h(a.mdiconshape,c.mdiconshape,"polygon").toLowerCase()]||"polygon",hb=g(a.mdiconradius,c.mdiconradius,5),ib=g(a.mdiconsides,c.mdiconsides,3),gb=h(a.mdiconcolor,c.mdiconcolor,"000000"),ob=h(a.mdiconbordercolor,c.mdiconbordercolor,"000000"),qb=g(a.mdiconalpha,c.mdiconalpha,100),lb=Oa[h(a.qdiconshape,c.qdiconshape,"polygon").toLowerCase()]||"polygon",mb=g(a.qdiconradius,c.qdiconradius,
5),nb=g(a.qdiconsides,c.qdiconsides,3),kb=h(a.qdiconcolor,c.qdiconcolor,"000000"),rb=h(a.qdiconbordercolor,c.qdiconbordercolor,"000000"),Ab=g(a.qdiconalpha,c.qdiconalpha,100),yb=Oa[h(a.outliericonshape,c.outliericonshape,"polygon").toLowerCase()]||"polygon",zb=g(a.outliericonradius,c.outliericonradius,5),Eb=g(a.outliericonsides,c.outliericonsides,3),Kb=h(a.outliericoncolor,c.outliericoncolor,"000000"),Lb=h(a.outliericonbordercolor,c.outliericonbordercolor,"000000"),Ob=g(a.outliericonalpha,c.outliericonalpha,
100),Bb=(1-2*m.plotSpacePercent)/2*(-.5+p),Nb=g(c.reverselegend,0),Cb=Nb?-1:1,mc=d.legendIndex=6*p+(Nb?5:0),Zb=g(a.showmean,c.showmean,0),$b=g(a.showmd,c.showmd,0),ac=g(a.showsd,c.showsd,0),dc=g(a.showqd,c.showqd,0),Yb=g(a.showalloutliers,c.showalloutliers,0),vc=g(c.outliersupperrangeratio,0),wc=g(c.outlierslowerrangeratio,0),bc=!1,nc=Boolean(g(c.showdetailedlegend,1)),oc=m.tooltipSepChar,Sb=!0,kc=m.dataSeparator,Pb=m.bwCalc,jc=h(d.type,this.defaultSeriesType),uc=e.plotOptions[jc]&&e.plotOptions[jc].stacking,
pb,Tb,Dc,Ec,lc,Nc,Oc,Pc,Qc,Rc,Sc,jb,Fb,Gb,Hb,Ib,xc,Fc,Mb,gc,pc,Qb,hc,Ub,Vb,Wb,Gc,Hc,qc,Ic,R,rc,Xb,sc,ic,Tc,Jc,db,Wa,Uc,tc,Kc,ub,vb,yc,Lc,wb,xb,Mc,Ac=function(a,b){return a-b},zc,Vc,Wc,Xc,Yc,Zc;d.errorBarWidthPercent=g(a.whiskerslimitswidthratio,c.whiskerslimitswidthratio,40);Kc=a.data;d.name=C(a.seriesname);uc||(d.columnPosition=g(t,l,p));d.errorBar2D=!0;if(0===g(a.includeinlegend)||void 0===d.name)Sb=d.showInLegend=!1;3>Sa&&(Sa=3);xc=sb(D.split(",")[0]);Fc=sb(H.split(",")[0]);d.color={FCcolor:{color:xc+
","+xc+","+Fc+","+Fc,alpha:"100,100,100,100",angle:90,ratio:"0,50,0,50"}};sc=this.isBar;B=(ic=/3d$/.test(e.chart.defaultSeriesType))?c.showplotborder?B:"0":B;v=ic?h(c.plotbordercolor,"#FFFFFF"):v;vc=0>vc?0:vc;wc=0>wc?0:wc;for(Wb=0;Wb<f;Wb+=1){if(R=Kc&&Kc[Wb])R.value?(Pb.setArray(R.value),Lc=Pb.getQuartiles(),wb=Lc.q1,xb=Lc.q3,Mc=Pb.getMinMax(),vb=Vb=Mc.min,ub=Mc.max,yc=Pb.getMedian(),Fb=Pb.getMean(),Hb=Pb.getMD(),Gb=Pb.getSD(),Ib=Pb.getQD(),Ub=hc=ub):(wb=k.getCleanValue(R.q1),xb=k.getCleanValue(R.q3),
vb=Vb=k.getCleanValue(R.min),ub=k.getCleanValue(R.max),yc=k.getCleanValue(R.median),Ub=hc=ub,Fb=Ec=k.getCleanValue(R.mean),Hb=k.getCleanValue(R.md),Gb=k.getCleanValue(R.sd),Ib=k.getCleanValue(R.qd));if(R&&null!=wb&&null!=xb&&null!==hc){bc=!0;Ec=g(R.showmean,Zb);lc=g(R.showmd,$b);Nc=g(R.showsd,ac);Oc=g(R.showqd,dc);Tb=m.oriCatTmp[Wb];db=this.getPointStub(e,c,a,R,ub,xb,yc,wb,vb,Fb,Hb,Gb,Ib,Tb);Wa=db.toolText;Ec?(Pc=1,jb=g(R.meaniconalpha,Ya),Wa=C(G(h(R.meantooltext,a.meantooltext,c.meantooltext))),
Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,R,ub,vb,wb,xb,Ca,Gb,Ib,Hb,Fb,Tb):"<b>Mean"+oc+"</b>"+k.dataLabels(Fb),Ja.push({y:Fb,toolText:Wa,link:db.link,marker:{enabled:!0,fillColor:y(h(R.meaniconcolor,Ta),jb),lineColor:y(h(R.meaniconbordercolor,Va),jb),radius:g(R.meaniconradius,Ua),symbol:ea(g(R.meaniconsides,Sa),"spoke"==h(R.meaniconshape,Ra))}})):Ja.push({y:null});lc?(Qc=1,jb=g(R.mdiconalpha,qb),Wa=C(G(h(R.mdtooltext,a.mdtooltext,c.mdtooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,R,ub,vb,wb,
xb,Ca,Gb,Ib,Hb,Fb,Tb):"<b>MD"+oc+"</b>"+k.dataLabels(Hb),Ka.push({y:Hb,toolText:Wa,link:db.link,marker:{enabled:!0,fillColor:y(h(R.mdiconcolor,gb),jb),lineColor:y(h(R.mdiconbordercolor,cb),jb),radius:g(R.mdiconradius,hb),symbol:ea(g(R.mdiconsides,ib),"spoke"==h(R.mdiconshape,eb))}})):Ka.push({y:null});Nc?(Rc=1,jb=g(R.sdiconalpha,fb),Wa=C(G(h(R.sdtooltext,a.sdtooltext,c.sdtooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,R,ub,vb,wb,xb,Ca,Gb,Ib,Hb,Fb,Tb):"<b>SD"+oc+"</b>"+k.dataLabels(Gb),La.push({y:Gb,
toolText:Wa,link:db.link,marker:{enabled:!0,fillColor:y(h(R.sdiconcolor,ab),jb),lineColor:y(h(R.sdiconbordercolor,cb),jb),radius:g(R.sdiconradius,$a),symbol:ea(g(R.sdiconsides,bb),"spoke"==h(R.sdiconshape,Xa))}})):La.push({y:null});Oc?(Sc=1,jb=g(R.qdiconalpha,Ab),Wa=C(G(h(R.qdtooltext,a.qdtooltext,c.qdtooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,c,a,R,ub,vb,wb,xb,Ca,Gb,Ib,Hb,Fb,Tb):"<b>QD"+oc+"</b>"+k.dataLabels(Ib),Pa.push({y:Ib,toolText:Wa,link:db.link,marker:{enabled:!0,fillColor:y(h(R.qdiconcolor,
kb),jb),lineColor:y(h(R.qdiconbordercolor,rb),jb),radius:g(R.qdiconradius,mb),symbol:ea(g(R.qdiconsides,nb),"spoke"==h(R.qdiconshape,lb))}})):Pa.push({y:null});if(Mb=R.outliers){Mb=Mb.replace(/\s/g,A).split(kc);for(gc=Mb.length;gc--;)Mb[gc]=k.getCleanValue(Mb[gc]);Mb.sort(Ac);gc=Mb.length;for(pc=0;pc<gc;pc+=1)if(Qb=Mb[pc],Yb&&(Ub=Za(hc,Qb),Vb=E(vb,Qb)),jb=g(R.outliericonalpha,Ob),Qb>hc||Qb<vb)Wa=C(G(h(R.outlierstooltext,a.outlierstooltext,c.outlierstooltext))),Wa=void 0!==Wa?this.getTooltext(Wa,e,
c,a,R,ub,vb,wb,xb,Ca,Gb,Ib,Hb,Fb,Tb,Qb):"<b>Outlier"+oc+"</b>"+k.dataLabels(Qb),Qa.push({y:Qb,toolText:Wa,x:Wb,link:db.link,marker:{enabled:!0,fillColor:y(h(R.outliericoncolor,Kb),jb),lineColor:y(h(R.outliericonbordercolor,Lb),jb),radius:g(R.outliericonradius,zb),symbol:ea(g(R.outliericonsides,Eb),"spoke"==h(R.outliericonshape,yb))}})}Yb||(Dc=Ub-Vb,Ub+=Dc*vc,Vb-=Dc*wc);Gc=h(R.upperboxcolor,D)+r;Hc=h(R.lowerboxcolor,H)+r;qc=h(R.upperboxalpha,Y,c.upperboxalpha,c.plotfillalpha,"100")+A;Ic=h(R.lowerboxalpha,
K,c.lowerboxalpha,c.plotfillalpha,"100")+A;rc=h(R.ratio,a.ratio,c.plotfillratio);Xb=h(360-c.plotfillangle,90);0>hc&&(Xb=360-Xb);Uc={opacity:qc/100};tc=E(qc,B)+A;Tc=cc(Gc,qc,rc,Xb,n,v,tc,sc,ic);Jc=cc(Hc,Ic,rc,Xb,n,v,tc,sc,ic);Ea={value:xb,color:y(h(R.upperquartilecolor,T),g(R.upperquartilealpha,ba)),borderWidth:g(R.upperquartilethickness,la),dashStyle:g(R.upperquartiledashed,ia)?Ba(h(R.upperquartiledashlen,ra),h(R.upperquartiledashgap,ma),g(R.upperquartilethickness,la)):void 0,displayValue:db.displayValueQ3};
Fa={value:wb,color:y(h(R.lowerquartilecolor,$),g(R.lowerquartilealpha,da)),borderWidth:g(R.lowerquartilethickness,ta),dashStyle:g(R.lowerquartiledashed,ua)?Ba(h(R.lowerquartiledashlen,Cc),h(R.lowerquartiledashgap,Aa),g(R.lowerquartilethickness,ta)):void 0,displayValue:db.displayValueQ1};Ga={color:y(h(R.upperboxbordercolor,S),g(R.upperboxborderalpha,ga)),borderWidth:g(R.upperboxborderthickness,fc),dashStyle:g(R.upperboxborderdashed,za)?Ba(h(R.upperboxborderdashlen,sa),h(R.upperboxborderdashgap,wa),
g(R.upperboxborderthickness,fc)):void 0};Ia={color:y(h(R.lowerboxbordercolor,L),g(R.lowerboxborderalpha,ja)),borderWidth:g(R.lowerboxborderthickness,ya),dashStyle:g(R.lowerboxborderdashed,tb)?Ba(h(R.lowerboxborderdashlen,ka),h(R.lowerboxborderdashgap,Da),g(R.lowerboxborderthickness,ya)):void 0};Ca={value:yc,color:y(h(R.mediancolor,Z),g(R.medianalpha,oa)),borderWidth:g(R.medianthickness,aa),dashStyle:g(R.mediandashed,cd)?Ba(h(R.mediandashlen,xa),h(R.mediandashgap,Ha),g(R.medianthickness,aa)):void 0,
displayValue:db.displayValueMid};zc=[];U(ub)&&zc.push({errorValue:ub-xb,toolText:db.toolText,link:db.link,errorBarColor:y(h(R.upperwhiskercolor,na),g(R.upperwhiskeralpha,pa)),errorBarThickness:g(R.upperwhiskerthickness,P),dashStyle:g(R.upperwhiskerdashed,O)?Ba(h(R.upperwhiskerdashlen,ca),h(R.upperwhiskerdashgap,Q),g(R.upperwhiskerthickness,P)):void 0,displayValue:db.displayValueMax,shadow:{opacity:s?g(R.upperwhiskeralpha,pa)/250:0}});U(vb)&&zc.push({errorValue:-(wb-vb),errorStartValue:wb,toolText:db.toolText,
link:db.link,errorBarColor:y(h(R.lowerwhiskercolor,J),g(R.lowerwhiskeralpha,Rb)),errorBarThickness:g(R.lowerwhiskerthickness,V),dashStyle:g(R.lowerwhiskerdashed,N)?Ba(h(R.lowerwhiskerdashlen,W),h(R.lowerwhiskerdashgap,Na),g(R.lowerwhiskerthickness,V)):void 0,displayValue:db.displayValueMin,shadow:{opacity:s?g(R.lowerwhiskeralpha,Rb)/250:0}});pb=this.pointHoverOptions(R,a,c,{upperBoxColor:Gc,upperBoxAlpha:qc,upperBoxBorderColor:h(R.upperboxbordercolor,S),upperBoxBorderAlpha:g(R.upperboxborderalpha,
ga),upperBoxBorderThickness:Ga.borderWidth,lowerBoxColor:Hc,lowerBoxAlpha:Ic,lowerBoxBorderColor:h(R.lowerboxbordercolor,L),lowerBoxBorderAlpha:g(R.lowerboxborderalpha,ja),lowerBoxBorderThickness:Ia.borderWidth,upperQuartileColor:h(R.upperquartilecolor,T),upperQuartileAlpha:g(R.upperquartilealpha,ba),upperQuartileThickness:Ea.borderWidth,lowerQuartileColor:h(R.lowerquartilecolor,$),lowerQuartileAlpha:g(R.lowerquartilealpha,da),lowerQuartileThickness:Fa.borderWidth,upperWhiskerColor:h(R.upperwhiskercolor,
na),upperWhiskerThickness:g(R.upperwhiskerthickness,P),upperWhiskerAlpha:g(R.upperwhiskeralpha,pa),lowerWhiskerColor:h(R.lowerwhiskercolor,J),lowerWhiskerAlpha:g(R.lowerwhiskeralpha,Rb),lowerWhiskerThickness:g(R.lowerwhiskerthickness,V),medianColor:h(R.mediancolor,Z),medianAlpha:g(R.medianalpha,oa),medianThickness:g(R.medianthickness,aa)});pb.enabled&&(pb.upperBox.fill=ha(cc(pb.upperBox.color,pb.upperBox.alpha,rc,Xb,n,v,tc,sc,ic)[0].FCcolor),delete pb.upperBox.color,delete pb.upperBox.alpha,pb.lowerBox.fill=
ha(cc(pb.lowerBox.color,pb.lowerBox.alpha,rc,Xb,n,v,tc,sc,ic)[0].FCcolor),delete pb.lowerBox.color,delete pb.lowerBox.alpha);d.data.push(I(db,{y:xb,errorValue:zc,shadow:Uc,color:Tc[0],toolText:db.toolText,lowerboxColor:Jc[0],lowerboxBorderColor:Jc[1],borderWidth:0,upperQuartile:Ea,lowerQuartile:Fa,upperBoxBorder:Ga,lowerBoxBorder:Ia,median:Ca,hoverEffects:pb}));this.pointValueWatcher(e,Ub);this.pointValueWatcher(e,Vb)}else d.data.push({y:null}),Ka.push({y:null}),La.push({y:null}),Pa.push({y:null}),
Ja.push({y:null})}d.showInLegend=Sb&&(bc||!q);d.legendFillColor=y(xc,20);Vc={type:"line",name:"Mean",relatedSeries:"boxandwhisker",data:Ja,legendIndex:mc+Cb,showInLegend:!!Pc&&Sb&&nc,marker:{fillColor:y(Ta,100),lineColor:y(Va,100),radius:Ua,symbol:ea(Sa,"spoke"==Ra)},color:g(c.drawmeanconnector,a.drawmeanconnector,0)?y(h(a.meanconnectorcolor,c.meanconnectorcolor,Ta),g(a.meanconnectoralpha,c.meanconnectoralpha,100)):Ma,lineWidth:g(c.drawmeanconnector,a.drawmeanconnector,0)?g(a.meanconnectorthickness,
c.meanconnectorthickness,1):0,shadow:0,legendFillColor:d.legendFillColor};Wc={type:"line",name:"SD",relatedSeries:"boxandwhisker",data:La,legendIndex:mc+2*Cb,showInLegend:!!Rc&&Sb&&nc,marker:{fillColor:y(ab,100),lineColor:y(cb,100),radius:$a,symbol:ea(bb,"spoke"==Xa)},color:g(c.drawsdconnector,a.drawsdconnector,0)?y(h(a.sdconnectorcolor,c.sdconnectorcolor,ab),g(a.sdconnectoralpha,c.sdconnectoralpha,100)):Ma,lineWidth:g(c.drawsdconnector,a.drawsdconnector,0)?g(a.sdconnectorthickness,c.sdconnectorthickness,
1):0,shadow:0,pointStart:Bb,legendFillColor:d.legendFillColor};Xc={type:"line",name:"MD",relatedSeries:"boxandwhisker",data:Ka,legendIndex:mc+3*Cb,showInLegend:!!Qc&&Sb&&nc,marker:{fillColor:y(gb,100),lineColor:y(ob,100),radius:hb,symbol:ea(ib,"spoke"==eb)},color:g(c.drawmdconnector,a.drawmdconnector,0)?y(h(a.mdconnectorcolor,c.mdconnectorcolor,gb),g(a.mdconnectoralpha,c.mdconnectoralpha,100)):Ma,lineWidth:g(c.drawmdconnector,a.drawmdconnector,0)?g(a.mdconnectorthickness,c.mdconnectorthickness,1):
0,shadow:0,pointStart:Bb,legendFillColor:d.legendFillColor};Yc={type:"line",name:"QD",relatedSeries:"boxandwhisker",data:Pa,legendIndex:mc+4*Cb,showInLegend:!!Sc&&Sb&&nc,marker:{fillColor:y(kb,100),lineColor:y(rb,100),radius:mb,symbol:ea(nb,"spoke"==lb)},color:g(c.drawqdconnector,a.drawqdconnector,0)?y(h(a.qdconnectorcolor,c.qdconnectorcolor,kb),g(a.qdconnectoralpha,c.qdconnectoralpha,100)):Ma,lineWidth:g(c.drawqdconnector,a.drawqdconnector,0)?g(a.qdconnectorthickness,c.qdconnectorthickness,1):0,
shadow:0,pointStart:Bb,legendFillColor:d.legendFillColor};Zc={type:"line",name:"Outlier",relatedSeries:"boxandwhisker",showInLegend:!(!Qa||!Qa.length)&&Sb&&nc,data:Qa,legendIndex:mc+5*Cb,marker:{fillColor:y(Kb,100),lineColor:y(Lb,100),radius:zb,symbol:ea(Eb,"spoke"==yb)},color:Ma,lineWidth:0,shadow:0,pointStart:Bb,legendFillColor:d.legendFillColor};e._meanDataArr.push(Vc);e._sdDataArr.push(Wc);e._mdDataArr.push(Xc);e._qdDataArr.push(Yc);e._outliers.push(Zc);return d},series:function(b,d,a){var c=
d.series,e=d._meanDataArr=[],f=d._sdDataArr=[],g=d._mdDataArr=[],l=d._qdDataArr=[],t=d._outliers=[],m=d[fa],q=d.yAxis[0],k=2*m.plotSpacePercent,n,s,z,u,M;m.dataSeparator=h(d.chart.dataseparator,Da);m.bwCalc=new Ha(b.chart.calculationmethod,m.numberFormatter,m.dataSeparator);r.multiseries.series.call(this,b,d,a);a=c&&c.length;b=Za(e.length,f.length,g.length,l.length,t.length,a);k=(1-k)/a;m=q.min;M=q.max;d.series=c.concat(e,f,g,l,t);for(q=0;q<a;q+=1)for(s=c[q],n=q,!s.relatedSeries&&(s.relatedSeries=
[]),z=0;5>z;z+=1)n+=a,s.relatedSeries.push(n);for(z=q=0;z<b;z+=1,q+=1)if(c=(-.5*(a-1)+q)*k,e[q]&&(e[q].pointStart=c),f[q]&&(f[q].pointStart=c),l[q]&&(l[q].pointStart=c),g[q]&&(g[q].pointStart=c),t[q]&&(t[q].pointStart=c),n=(c=t[q])&&c.data)for(c=0;c<n.length;c+=1)s=n[c],u=s.y,s.y=u>M||u<m?null:u;delete d._meanDataArr;delete d._sdDataArr;delete d._mdDataArr;delete d._qdDataArr;delete d._outliers},getTooltext:function(b,d,a,c,e,f,g,h,t,m,q,k,n,s,z,u){d=this.numberFormatter;return cb(b,[1,2,3,4,5,6,
62,63,64,65,66,67,68,69,70,71,72,73,74,75,76,77,78,79,80],{maxValue:f,maxDataValue:d.dataLabels(f),minValue:g,minDataValue:d.dataLabels(g),Q1:d.dataLabels(h),unformattedQ1:h,Q3:d.dataLabels(t),unformattedQ3:t,median:d.dataLabels(m),unformattedMedian:m,SD:d.dataLabels(q),unformattedSD:q,QD:d.dataLabels(k),unformattedQD:k,MD:d.dataLabels(n),unformattedMD:n,mean:d.dataLabels(s),unformattedMean:s,label:G(z),yaxisName:G(a.yaxisname),xaxisName:G(a.xaxisname),formattedValue:d.dataLabels(u),value:u},{value:u},
a,c)},pointHoverOptions:function(b,d,a,c){var e=g(b.showhovereffect,d.showhovereffect,a.plothovereffect,a.showhovereffect),f=g(b.highlightonhover,d.highlightonhover,d.highlightplotonhover,a.highlightonhover,a.highlightplotonhover,e),p={},l={},t={},m={},q={},k={},n={},s={},z={},u;p.color=h(b.upperboxhovercolor,d.upperboxhovercolor,a.plotfillhovercolor,a.upperboxhovercolor);p.alpha=h(b.upperboxhoveralpha,d.upperboxhoveralpha,a.upperboxhoveralpha);n.color=h(b.upperboxborderhovercolor,d.upperboxborderhovercolor,
a.upperboxborderhovercolor);n.alpha=h(b.upperboxborderhoveralpha,d.upperboxborderhoveralpha,a.upperboxborderhoveralpha);n.thickness=g(b.upperboxborderhoverthickness,d.upperboxborderhoverthickness,a.upperboxborderhoverthickness);l.color=h(b.lowerboxhovercolor,d.lowerboxhovercolor,a.plotfillhovercolor,a.lowerboxhovercolor);l.alpha=h(b.lowerboxhoveralpha,d.lowerboxhoveralpha,a.lowerboxhoveralpha);s.color=h(b.lowerboxborderhovercolor,d.lowerboxborderhovercolor,a.lowerboxborderhovercolor);s.alpha=h(b.lowerboxborderhoveralpha,
d.lowerboxborderhoveralpha,a.lowerboxborderhoveralpha);s.thickness=g(b.lowerboxborderhoverthickness,d.lowerboxborderhoverthickness,a.lowerboxborderhoverthickness);q.color=h(b.upperwhiskerhovercolor,d.upperwhiskerhovercolor,a.upperwhiskerhovercolor);q.alpha=h(b.upperwhiskerhoveralpha,d.upperwhiskerhoveralpha,a.upperwhiskerhoveralpha);q.thickness=h(b.upperwhiskerhoverthickness,d.upperwhiskerhoverthickness,a.upperwhiskerhoverthickness);k.color=h(b.lowerwhiskerhovercolor,d.lowerwhiskerhovercolor,a.lowerwhiskerhovercolor);
k.alpha=h(b.lowerwhiskerhoveralpha,d.lowerwhiskerhoveralpha,a.lowerwhiskerhoveralpha);k.thickness=h(b.lowerwhiskerhoverthickness,d.lowerwhiskerhoverthickness,a.lowerwhiskerhoverthickness);t.color=h(b.upperquartilehovercolor,d.upperquartilehovercolor,a.upperquartilehovercolor);t.alpha=h(b.upperquartilehoveralpha,d.upperquartilehoveralpha,a.upperquartilehoveralpha);t.thickness=h(b.upperquartilehoverthickness,d.upperquartilehoverthickness,a.upperquartilehoverthickness);m.color=h(b.lowerquartilehovercolor,
d.lowerquartilehovercolor,a.lowerquartilehovercolor);m.alpha=h(b.lowerquartilehoveralpha,d.lowerquartilehoveralpha,a.lowerquartilehoveralpha);m.thickness=h(b.lowerquartilehoverthickness,d.lowerquartilehoverthickness,a.lowerquartilehoverthickness);z.color=h(b.medianhovercolor,d.medianhovercolor,a.medianhovercolor);z.alpha=h(b.medianhoveralpha,d.medianhoveralpha,a.medianhoveralpha);z.thickness=h(b.medianhoverthickness,d.medianhoverthickness,a.medianhoverthickness);b=!!h(p.color,p.alpha,n.color,n.alpha,
n.thickness,l.color,l.alpha,s.color,s.thickness,s.alpha,q.color,q.alpha,q.thickness,k.color,k.alpha,k.thickness,t.color,t.alpha,t.thickness,m.color,m.alpha,m.thickness,z.color,z.alpha,z.thickness,f);void 0===e&&void 0===f&&b&&(f=0);if(void 0===e&&b||e)u=!0,p.color=h(p.color,f?ia(c.upperBoxColor,70):c.upperBoxColor),p.alpha=h(p.alpha,c.upperBoxAlpha),l.color=h(l.color,f?ia(c.lowerBoxColor,70):c.lowerBoxColor),l.alpha=h(l.alpha,c.lowerBoxAlpha),n.color=h(n.color,c.upperBoxBorderColor),n.alpha=g(n.alpha,
c.upperBoxBorderAlpha),n.stroke=y(n.color,n.alpha),n["stroke-width"]=g(n.thickness,c.upperBoxBorderThickness),delete n.color,delete n.alpha,delete n.thickness,s.color=h(s.color,c.lowerBoxBorderColor),s.alpha=h(s.alpha,c.lowerBoxBorderAlpha),s.stroke=y(s.color,s.alpha),s["stroke-width"]=g(s.thickness,c.lowerBoxBorderThickness),delete s.color,delete s.alpha,delete s.thickness,q.color=h(q.color,c.upperWhiskerColor,70),q.alpha=h(q.alpha,c.upperWhiskerAlpha),q.stroke=y(q.color,q.alpha),q["stroke-width"]=
h(q.thickness,c.upperWhiskerThickness),delete q.color,delete q.alpha,delete q.thickness,k.color=h(k.color,c.lowerWhiskerColor,70),k.alpha=h(k.alpha,c.lowerWhiskerAlpha),k.stroke=y(k.color,k.alpha),k["stroke-width"]=h(k.thickness,c.lowerWhiskerThickness),delete k.color,delete k.alpha,delete k.thickness,t.color=h(t.color,c.upperQuartileColor,70),t.alpha=h(t.alpha,c.upperQuartileAlpha),t.stroke=y(t.color,t.alpha),t["stroke-width"]=h(t.thickness,c.upperQuartileThickness),delete t.color,delete t.alpha,
delete t.thickness,m.color=h(m.color,c.lowerQuartileColor,70),m.alpha=h(m.alpha,c.lowerQuartileAlpha),m.stroke=y(m.color,m.alpha),m["stroke-width"]=h(m.thickness,c.lowerQuartileThickness),delete m.color,delete m.alpha,delete m.thickness,z.color=h(z.color,c.medianColor,70),z.alpha=h(z.alpha,c.medianAlpha),z.stroke=y(z.color,z.alpha),z["stroke-width"]=h(z.thickness,c.medianThickness),delete z.color,delete z.alpha,delete z.thickness;return{enabled:u,upperBox:p,upperBoxBorder:n,lowerBox:l,lowerBoxBorder:s,
upperQuartile:t,lowerQuartile:m,upperWhisker:q,lowerWhisker:k,median:z}},getPointStub:function(b,d,a,c,e,f,p,l,t,m,q,k,n,s){var z=A,z=b[fa],u=z.tooltipSepChar,r=this.numberFormatter,x=g(c.showvalue,a.showvalues,d.showvalues,1),v={"true":r.dataLabels(e),"false":A},w={"true":r.dataLabels(f),"false":A},B={"true":r.dataLabels(p),"false":A},y={"true":r.dataLabels(l),"false":A},r={"true":r.dataLabels(t),"false":A};z.showTooltip?(z=C(G(h(c.tooltext,a.plottooltext,z.tooltext))),z=void 0!==z?this.getTooltext(z,
b,d,a,c,e,t,l,f,p,k,n,q,m,s):"<b>Maximum"+u+"</b>"+v[!0]+"<br/><b>Q3"+u+"</b>"+w[!0]+"<br/><b>Median"+u+"</b>"+B[!0]+"<br/><b>Q1"+u+"</b>"+y[!0]+"<br/><b>Minimum"+u+"</b>"+r[!0]):z=A;return{toolText:z,link:h(c.link),categoryLabel:s,displayValueMax:v[!(!x||!g(c.showmaxvalue,a.showmaxvalues,d.showmaxvalues,1))],displayValueMid:B[!(!x||!g(c.showmedianvalue,a.showmedianvalues,d.showmedianvalues,1))],displayValueMin:r[!(!x||!g(c.showminvalue,a.showminvalues,d.showminvalues,1))],displayValueQ3:w[!(!x||
!g(c.showq3value,a.showq3values,d.showq3values,0))],displayValueQ1:y[!(!x||!g(c.showq1value,a.showq1values,d.showq1values,0))]}}},r.multiseries);r("heatmap",{friendlyName:"Heatmap Chart",standaloneInit:!0,creditLabel:da,defaultSeriesType:"heatmap",tooltipsepchar:": ",tooltipConstraint:"chart",rendererId:"heatmap",series:function(b,d,a){var c=b.chart,e=d.chart,f=d[fa],p=this.colorManager,l=d.series,t=this.numberFormatter,m=b.rows&&b.rows.row,q=m&&m.length,k=b.columns&&b.columns.column,n=k&&k.length,
s=b.dataset,z=s&&s.data,r=b.colorrange||{},M=f.mapByPercent=g(r.mapbypercent,0),x=f.mapByCategory=g(c.mapbycategory,0),r=!x&&g(r.gradient,0),v=h(c.plotfillalpha,100),w=g(c.showlabels,c.showlabel,1),B=g(c.showplotborder,1),E=B?g(c.plotborderthickness,1):0,p=h(c.plotbordercolor,p.getColor("plotBorderColor")),B=h(c.plotborderalpha,B?95:0).toString(),p=y(p,B),B=g(c.plotborderdashed,0),va=g(c.plotborderdashlen,5),z=g(c.plotborderdashgap,4),va=B?Ba(va,z,E):void 0,F=u.colorRange,D=0,H=0,Y=0,K=0,na=f.rowIdObj=
{},J=f.columnIdObj={},pa=[],B=[],ha=0,P=[],V,O,N,ca,W,Q,Na,T,$;e.showHoverEffect=g(c.showhovereffect,1);r&&(d.legend.type="gradient");d.legend.enabled=Boolean(g(c.showlegend,1));for(e=0;e<q;e+=1)O=m[e],V=O.id,U(V)&&V!==A&&(D+=1,na[V.toLowerCase()]={index:D,label:g(O.showlabel,c.showyaxislabels,c.showyaxisnames,w)?h(O.label,O.name,V):A});for(e=0;e<n;e+=1)N=k[e],m=N.id,U(m)&&m!==A&&(J[m.toLowerCase()]={index:H,label:g(N.showlabel,c.showxaxislabels,c.showxaxisnames,w)?h(N.label,N.name,m):A},H+=1);Na=
0;for(T=s&&s.length;Na<T;Na+=1)for(z=s[Na]&&s[Na].data,e=0,$=z&&z.length;e<$;e+=1)if(k=z[e],Q=t.getCleanValue(k.value),null!==Q||x)V=C(k.rowid,k.rowids),O=C(V,A).toLowerCase(),m=C(k.columnid,k.columnids),N=C(m,A).toLowerCase(),pa.push(Q),U(W)||U(ca)||!U(Q)||(ca=W=Q),W>Q&&(W=Q),ca<Q&&(ca=Q),!U(O)||U(na[O])||q||(Y+=1,na[O]={index:Y,label:V}),!U(N)||U(J[N])||n||(J[N]={index:K,label:m},K+=1),O=na[O],N=J[N],O&&N&&(U(P[O.index])||(P[O.index]=[]),P[O.index][N.index]?B[P[O.index][N.index]-1]={rowId:V,columnId:m,
categoryId:h(k.colorrangelabel,k.categoryid,k.categoryname,k.category),tlLabel:G(h(k.tllabel,k.ltlabel)),trLabel:G(h(k.trlabel,k.rtlabel)),blLabel:G(h(k.bllabel,k.lblabel)),brLabel:G(h(k.brlabel,k.rblabel)),rowLabel:O.label,columnLabel:N.label,setColor:k.color,setAlpha:h(k.alpha,v),setShowLabel:g(k.showlabel,k.showname,w),colorRangeLabel:k.colorrangelabel,displayValue:k.displayvalue,tooltext:k.tooltext,showvalue:k.showvalue,link:k.link,hoverColor:h(k.hovercolor,c.hovercolor,c.plotfillhovercolor),
hoverAlpha:g(k.hoveralpha,c.hoveralpha,c.plotfillhoveralpha),index:ha,value:Q,y:O.index,x:N.index,_value:k.value,_cleanValue:Q}:(ha+=1,B.push({rowId:V,columnId:m,categoryId:h(k.colorrangelabel,k.categoryid,k.categoryname,k.category),tlLabel:G(h(k.tllabel,k.ltlabel)),trLabel:G(h(k.trlabel,k.rtlabel)),blLabel:G(h(k.bllabel,k.lblabel)),brLabel:G(h(k.brlabel,k.rblabel)),rowLabel:O.label,columnLabel:N.label,setColor:k.color&&k.color.replace(mb,Oa),setAlpha:h(k.alpha,v),setShowLabel:g(k.showlabel,k.showname,
w),colorRangeLabel:k.colorrangelabel,displayValue:k.displayvalue,tooltext:k.tooltext,showvalue:k.showvalue,link:k.link,hoverColor:h(k.hovercolor,c.hovercolor,c.plotfillhovercolor),hoverAlpha:g(k.hoveralpha,c.hoveralpha,c.plotfillhoveralpha),index:ha,value:Q,y:O.index,x:N.index,_value:k.value,_cleanValue:Q}),P[O.index][N.index]=ha));if(B.length){f.rowCount=D=Za(D,Y);f.columnCount=Za(H,K);for(e in na)na[e].index=D-na[e].index+1;f.minHeatValue=W;f.maxHeatValue=ca;q=ca-W;M=M&&!x;d.colorRange=new F({colorRange:b.colorrange,
dataMin:W,dataMax:ca,sortLegend:g(c.autoorderlegendicon,c.autoorderlegendicon,0),mapByCategory:x,defaultColor:"cccccc",numberFormatter:t});if(r)l.push({data:[],hoverEffects:this.parseSeriesHoverOptions(b,d,s,a),borderWidth:E,borderColor:p,dashStyle:va});else for(t=(c=d.colorRange.colorArr)&&c.length,e=0;e<t;e+=1)ca=c[e],U(ca.code)&&l.push({data:[],hoverEffects:this.parseSeriesHoverOptions(b,d,s,a),name:h(ca.label,ca.name),borderWidth:E,borderColor:p,color:sb(ca.code),dashStyle:va});l.length||l.push({data:[],
showInLegend:!1});for(e=0;e<B.length;e+=1)k=B[e],M&&(k.value=ra((k.value-W)/q*1E4)/100),a=d.colorRange.getColorObj(x?k.categoryId:k.value),a.outOfRange||(k.y=f.rowCount-k.y+1,k.color=y(h(k.setColor,a.code),h(k.setAlpha,v)),k.hoverColor=y(h(k.hoverColor,k.setColor,a.code),g(k.hoverAlpha,25)),k=I(k,this.getPointStub(k,k.value,A,d,b)),r?l[0].data.push(k):l[a.seriesIndex]&&l[a.seriesIndex].data.push(k))}else d.series=[];this.configureAxis(d,b)},getPointStub:function(b,d,a,c,e){a=c[fa];var f=e.chart,p=
a.tooltipSepChar,l=a.mapByCategory;e=a.mapByPercent&&!l;var t=this.numberFormatter,m=b._cleanValue;c=t.percentValue(d);d=null===m?d:t.dataLabels(m);var q=C(G(h(b.tooltext,a.tooltext))),t=C(G(b.displayValue)),k=l?t:h(t,d),n=g(b.showvalue,a.showValues),s=C(f.tltype,A),z=C(f.trtype,A),r=C(f.bltype,A),u=C(f.brtype,A),l=b.tlLabel,m=b.trLabel,x=b.blLabel,v=b.brLabel,w;s!==A&&(s="<b>"+s+p+"</b>");z!==A&&(z="<b>"+z+p+"</b>");r!==A&&(r="<b>"+r+p+"</b>");u!==A&&(u="<b>"+u+p+"</b>");a=a.showTooltip?void 0!==
q?cb(q,[1,2,5,6,7,14,93,94,95,96,97,98,112,113,114,115,116,117],{formattedValue:d,percentValue:e?c:A,yaxisName:G(f.yaxisname),xaxisName:G(f.xaxisname)},{value:b._value,displayvalue:b.displayValue},f,b):k===A?!1:(e?"<b>Value"+p+"</b>"+d+"<br/><b>Percentage"+p+"</b>"+c:k)+(b.tlLabel!==A?"<br/>"+(s+b.tlLabel):A)+(b.trLabel!==A?"<br/>"+z+b.trLabel:A)+(b.blLabel!==A?"<br/>"+r+b.blLabel:A)+(b.brLabel!==A?"<br/>"+u+b.brLabel:A):A;n?w=void 0!==t?t:e?c:d:l=m=x=v=w=A;b=h(b.link);return{displayValue:w,toolText:a,
link:b,tlLabel:l,trLabel:m,blLabel:x,brLabel:v}},configureAxis:function(b,d){var a=b[fa],c=d.chart,e=b.yAxis[0],f=b.xAxis,p=a.rowCount,l=a.columnCount,t=a.axisGridManager,m=a.rowIdObj,q=a.columnIdObj,k=this.colorManager,n=y(h(c.vdivlinecolor,c.divlinecolor,k.getColor("divLineColor")),g(c.vdivlinealpha,c.divlinealpha,k.getColor("divLineAlpha"))),s=g(c.vdivlinethickness,c.divlinethickness,1),z=g(c.vdivlinedashed,c.vdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)?Ba(g(c.vdivlinedashlen,c.divlinedashlen,
4),g(c.vdivlinedashgap,c.divlinedashgap,2),s):void 0,r=y(h(c.hdivlinecolor,c.divlinecolor,k.getColor("divLineColor")),g(c.hdivlinealpha,c.divlinealpha,k.getColor("divLineAlpha"))),u=g(c.hdivlinethickness,c.divlinethickness,1),x=g(c.hdivlinedashed,c.hdivlineisdashed,c.divlinedashed,c.divlineisdashed,0)?Ba(g(c.hdivlinedashlen,c.divlinedashlen,4),g(c.hdivlinedashgap,c.divlinedashgap,2),s):void 0,v,w;e.min=0;e.max=p;for(w in m)v=m[w],k=v.index,v=v.label,t.addAxisGridLine(e,k+-.5,v,.1,void 0,Ma,1),k<p&&
e.plotBands.push({isTrend:!0,color:r,value:k,width:u,dashStyle:x,zIndex:3});e.labels.enabled=!1;e.gridLineWidth=0;e.alternateGridColor=Ma;e.title.text=G(c.yaxisname);f.min=-.5;f.max=e=l+-.5;f.opposite=g(c.placexaxislabelsontop,0);a.x.catCount=l;for(w in q)a=q[w],k=a.index,v=a.label,t.addXaxisCat(f,k,1,v,a,{},c),k-=-.5,k<e&&f.plotBands.push({isTrend:!0,color:n,value:k,width:s,dashStyle:z,zIndex:3});f.labels.enabled=!1;f.gridLineWidth=0;f.alternateGridColor=Ma;f.title.text=G(c.xaxisname)},xAxisMinMaxSetter:function(){},
placeLegendBlockRight:function(){return"gradient"===arguments[0].legend.type?u.placeGLegendBlockRight?u.placeGLegendBlockRight.apply(this,arguments):0:u.placeLegendBlockRight.apply(this,arguments)},placeLegendBlockBottom:function(){return"gradient"===arguments[0].legend.type?u.placeGLegendBlockBottom?u.placeGLegendBlockBottom.apply(this,arguments):0:u.placeLegendBlockBottom.apply(this,arguments)}},r.column2dbase);r("renderer.multiaxisline",{legendClick:function(b,d,a){var c=this.options.series,e=
this.yAxis[c[b.index].yAxis],f=e.axisData._relatedSeries,g=f.length,h=!1;r["renderer.cartesian"].legendClick.call(this,b,d,a);if(!a){for(;g--&&!(h=c[f[g]].visible););e.checkBox.element.checked=h}}},r["renderer.cartesian"]);r("renderer.candlestick",{drawPlotCandlestickbar:function(b,d){var a=b.data,c=a.length,e=b.items,f=b.graphics=[],h=this.paper,l=this.layers,t=this.definition.chart,m=this.options.plotOptions.series,q=this.xAxis[d.xAxis||0],k=this.yAxis[d.yAxis||0],n=d.numColumns||1,s=d.columnPosition||
0,z=!1===d.visible?"hidden":"visible",r=q.getAxisPosition(0),r=q.getAxisPosition(1)-r,u=m.groupPadding,x=m.maxColWidth,t=(1-.01*(t&&t.plotspacepercent))*r||E(r*(1-2*u),x*n),n=t/n*s-t/2,v,w,B,A,y,u=l.dataset=l.dataset||h.group("dataset-orphan");u.column=u.column||h.group("columns",u);for(l=0;l<c;l+=1){s=a[l];r=s.y;v=null;if(null===r){if(x=e[l])v=x.graphic,v.attr({height:0})}else x=g(s.x,l),t=s.link,x=q.getAxisPosition(x),v=s.previousY,w=k.getAxisPosition(v),v=k.getAxisPosition(r),B=k.getAxisPosition(s.high),
A=k.getAxisPosition(s.low),S(v-w),y=n,w=["M",x,A,"L",x,B,"M",x,v,"L",x+y,v,"M",x,w,"L",x-y,w],(x=e[l])||(x=e[l]={index:l,value:r,graphic:h.path(w,u),dataLabel:null,tracker:null}),v=x.graphic,v.attr({path:w,fill:ha(s.color),stroke:ha(s.borderColor),"stroke-width":s.borderWidth,"stroke-dasharray":s.dashStyle,"stroke-linecap":"round","stroke-linejoin":"round","shape-rendering":"crisp",cursor:t?"pointer":"",visibility:z}).shadow(m.shadow||s.shadow),this.drawTracker&&this.drawTracker.call(this,b,d,l);
v&&f.push(v);this.drawTracker&&this.drawTracker.call(this,b,d,l)}b.visible=!1!==d.visible;return b},drawCanvas:function(){r["renderer.cartesian"].drawCanvas.call(this,arguments);if(this.options.subCharts&&this.options.subCharts[0]){var b=this.options,b=(b.subCharts&&b.subCharts[0]).chart||{},d=this.paper,a=this.elements,c=a.volumeCanvas,e=b.marginTop+b.top,f=b.left=b.marginLeft,h=b.width-b.marginLeft-b.marginRight,l=b.height-b.marginBottom,t=g(b.plotBorderRadius,0),m=b.plotBorderWidth,q=b.plotBackgroundColor,
k=.5*m,n=b.plotBorderColor,s=this.layers.canvas;c||(a.volumeCanvas=d.rect(f-k,e-k-1,h+m,l+m,t,s).attr({fill:ha(q),"stroke-width":m,stroke:n,"stroke-linejoin":2<m?"round":"miter","shape-rendering":"crisp"}).shadow(b.plotShadow).crisp())}},drawTracker:function(b,d,a){var c=this,e=c.paper,f=c.xAxis[0],h=b.data[a],l=c.yAxis[0].getAxisPosition(h.y),t=f.getAxisPosition(g(h.x,a));b=b.items[a];a=gb?40:20;var m=c.layers.tracker,q=c.definition.chart,k=c.options.plotOptions.series,n=f.getAxisPosition(0),f=f.getAxisPosition(1)-
n,n=k.groupPadding,k=k.maxColWidth,s=((1-.01*(q&&q.plotspacepercent))*f||E(f*(1-2*n),1*k))/1,z=.5*-s,q=c.elements,f=q.canvas.getBBox(),k=q.volumeCanvas&&q.volumeCanvas.getBBox(),n=q.rollOverBand,r=b&&b.tracker,s={"stroke-width":s,ishot:!0,stroke:ha(c.options.chart.rollOverBandColor),fill:ha(c.options.chart.rollOverBandColor),visibility:"hidden"};k&&r&&!d.doNotUseBand&&(r||(r=b.tracker=e.circle(t,l,a,m).attr({"stroke-width":0,fill:sa})),r.data("x",t),h.toolText&&r.tooltip(h.toolText),n||(n=q.rollOverBand=
e.path(["M",0,f.y,"L",0,f.y2,"M",0,k.y,"L",0,k.y2]).attr(s),c.layers.dataset.appendChild(n),n.toBack()),r.mouseover(function(){c.rollOver(c,this,z)}).mouseout(function(){c.rollOut(c)}))},rollOver:function(b,d){b.elements.rollOverBand.transform("t"+d.data("x")+",0").show()},rollOut:function(b){b.elements.rollOverBand.hide()}},r["renderer.cartesian"]);r("renderer.spline",{drawPlotSpline:function(b,d){var a=this,c=a.paper,e=a.elements,f=a.options,h=f.chart,l=f.plotOptions.series,t=l.dataLabels&&l.dataLabels.style||
{},m={fontFamily:t.fontFamily,fontSize:t.fontSize,lineHeight:t.lineHeight,fontWeight:t.fontWeight,fontStyle:t.fontStyle},t=b.items,q=b.graphics=b.graphics||[],k=a.xAxis[d.xAxis||0],n=a.yAxis[d.yAxis||0],s=b.data,z=[],r=[],u=!1===d.visible,x=u?"hidden":"visible",v=isNaN(+l.animation)&&l.animation.duration||1E3*l.animation,w=!1!==(f.tooltip||{}).enabled,B=a.chartWidth,A=a.chartHeight,f=function(){oa.attr({"clip-rect":null});la.show();Z.show();ja.show();S.attr({transform:"...t"+-B+","+-A})},y,F,C=l.connectNullData,
H,Y,K,na,E,G,D=null,P,V=d.lineWidth,O,N,ca,W,Q,I,T,$,J=a.layers,U=J.dataset=J.dataset||c.group("dataset-orphan"),S=J.datalabels=J.datalabels||c.group("datalables"),ba=J.tracker,J=h.anchorTrackingRadius,L,Z,ja,oa,la,ta=[],da,ya,aa,ga=function(e,f,g,h,k,l,p,m){return function(){var n=g.imageUrl,s=g.imageScale,t=g.imageAlpha,z=p.imageHoverAlpha,r=p.imageHoverScale,v=this.width*s*.01,u=this.width*r*.01;T={x:e-this.width*s*.005,y:f-this.height*s*.005,width:v,height:this.height*s*.01,alpha:t};$={x:e-this.width*
r*.005,y:f-this.height*r*.005,width:u,height:this.height*r*.01,alpha:z};z=u>v?$:T;h.graphic=W=c.image(n,la).attr(T).css({opacity:.01*t}).data("alwaysInvisible",0===s).data("setRolloverProperties",p).data("setRolloverAttr",$).data("setRolloutAttr",T).data("anchorRadius",s).data("anchorHoverRadius",r);q.push(W);if(na||w||p)ya=h.tracker=c.rect(ba).attr(z).attr({cursor:na?"pointer":"",stroke:sa,"stroke-width":g.lineWidth,fill:sa,ishot:!0,visibility:x}).data("eventArgs",k).click(function(b){xa.call(this,
a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(l);(da=a.drawPlotLineLabel(b,d,m,e,f))&&q.push(da)}},ua=function(c,e,f,g,h,k,l){return function(){(da=f.dataLabel=a.drawPlotLineLabel(b,d,l,c,e))&&q.push(da)}},za=function(b){xa.call(this,a,b)},tb=function(b,c){return function(d){a.hoverPlotAnchor(this,d,c,b,a)}},h=function(a,b,c,d){var e=a.length,f=a[e-1],g=
f.length,h=f[0],f=f[g-2];3>g||("R"===h&&3===g&&(a[e-1][0]="L"),b&&a.push(["L",f,d,c,d,"Z"]))};a.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",m);S.insertAfter(U);S.attr({"class":"fusioncharts-datalabels",transform:"...t"+B+","+A});v&&a.animationCompleteQueue.push({fn:f,scope:a});m=U.line||(U.line=c.group("line-connector",U));Z=c.group("connector-shadow",m);ja=c.group("anchor-shadow",m);oa=c.group("connector",m);la=c.group("anchors",m);la.hide();Z.hide();ja.hide();y=0;for(F=s.length;y<
F;y+=1)if(H=s[y],K=H.y,W=ya=da=null,null===K)0===C&&(D=null);else{m=t[y]={chart:a,index:y,value:K};Y=g(H.x,y);na=H.link;E=H.tooltext||H.toolText;P=n.getAxisPosition(K);Y=k.getAxisPosition(Y);if((N=H.marker)&&N.enabled)if(O=N.radius,I=N.shadow,ca=N.symbol.split("_"),L={index:y,link:na,value:K,displayValue:H.displayValue,categoryLabel:H.categoryLabel,toolText:H.toolText,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},T=$={},K=H.rolloverProperties,N.imageUrl)O=new Sa.Image,O.onload=
ga(Y,P,N,m,L,E,K,y),O.onerror=ua(Y,P,m,y),O.src=N.imageUrl;else{K&&(T={polypath:[ca[1]||2,Y,P,N.radius,N.startAngle,0],fill:ha(N.fillColor),"stroke-width":N.lineWidth,stroke:ha(N.lineColor)},$={polypath:[K.sides||2,Y,P,K.radius,K.startAngle,K.dip],fill:ha(K.fillColor),"stroke-width":K.lineWidth,stroke:ha(K.lineColor)});W=m.graphic=c.polypath(ca[1]||2,Y,P,N.radius,N.startAngle,0,la).attr({fill:ha(N.fillColor),"stroke-width":N.lineWidth,stroke:ha(N.lineColor),cursor:na?"pointer":"","stroke-linecap":"round",
"stroke-linejoin":"round",ishot:!0,visibility:0===O?"hidden":x}).data("alwaysInvisible",0===O).data("setRolloverProperties",K).data("setRolloverAttr",$).data("setRolloutAttr",T).data("anchorRadius",O).data("anchorHoverRadius",K&&K.radius).shadow(I||!1,ja);if(na||w||K)O=Za(O,K&&K.radius||0,J),ya=c.polypath(ca[1]||2,Y,P,O,N.startAngle,0,ba).attr({cursor:na?"pointer":"",stroke:sa,"stroke-width":0,ishot:!0,fill:sa,visibility:x});aa=ya||W;aa.click(za);(ya||W).data("eventArgs",L).hover(tb(m,"DataPlotRollOver"),
tb(m,"DataPlotRollOut")).tooltip(E)}E=ta.length;null!==D?2<=E?(ta[E-1].push(Y),ta[E-1].push(P)):(ta.push(["M",G,D]),ta.push(["R",Y,P])):null===D&&2<=E&&(G=ta[E-1],"R"===G[0]&&3===G.length&&(G.push(G[1]),G.push(G[2])),ta.push(["M",Y,P]),ta.push(["R"]));W&&q.push(W);aa&&q.push(aa);G=Y;D=P;E=H.color;O=H.dashStyle;r.push(W);m.dataLabel=da;m.tracker=aa;N&&N.imageUrl||(da=a.drawPlotLineLabel(b,d,y,Y,P));da&&q.push(da);a.drawTracker&&a.drawTracker.call(a,b,d,y)}2<=ta.length&&(h(ta,!1),Q=b.graphic=c.path(ta,
oa).attr({"stroke-dasharray":O,"stroke-width":V,stroke:ha(E),"stroke-linecap":"round","stroke-linejoin":"round",visibility:x}).shadow(l.shadow&&H.shadow,Z),z.push(Q),U.shadow(l.shadow||H.shadow));v?oa.attr({"clip-rect":e["clip-canvas-init"]}).animate({"clip-rect":e["clip-canvas"]},v,"normal",a.getAnimationCompleteFn()):(f&&f(),f=void 0);Q&&q.push(Q);b.visible=!u;return b},drawPlotAreaspline:function(b,d){var a=this,c=a.paper,e=a.layers,f=a.options,h=f.chart,l=a.elements,t=f.plotOptions.series,m=t.dataLabels&&
t.dataLabels.style||{},q={fontFamily:m.fontFamily,fontSize:m.fontSize,lineHeight:m.lineHeight,fontWeight:m.fontWeight,fontStyle:m.fontStyle},k=a.xAxis[d.xAxis||0],n=a.yAxis[d.yAxis||0],s=b.data,z=(m=!1===d.visible)?"hidden":"visible",r=isNaN(+t.animation)&&t.animation.duration||1E3*t.animation,u="0"===a.definition.chart.drawfullareaborder,x=!1!==(f.tooltip||{}).enabled,v,w,B,y,A,f=b.items,F=b.graphics=b.graphics||[],C=null,H,Y,K=n.max,E=n.min,K=n.getAxisPosition(0<K&&0<E?E:0>K&&0>E?K:0),G=e.tracker,
D=e.dataset=e.dataset||c.group("dataset-orphan"),J=e.datalabels=e.datalabels||c.group("datalabels").insertAfter(D),P=h.anchorTrackingRadius,V=a.chartWidth,O=a.chartHeight,e=function(){Q.attr({"clip-rect":null});W.show();ca.show();J.attr({transform:"...t"+-V+","+-O})},N,ca,W,Q,I,T,$=[],E=[],U,S,L,ba,Z,da,ja,oa,la,ta,aa,ya,ga,fa,ua,za=function(e,f,g,h,k,l,p,m){return function(){var n=g.imageUrl,q=g.imageScale,s=g.imageAlpha,t=p.imageHoverAlpha,r=p.imageHoverScale,v=this.width*q*.01,u=this.width*r*.01;
aa={x:e-this.width*q*.005,y:f-this.height*q*.005,width:v,height:this.height*q*.01,alpha:s};ya={x:e-this.width*r*.005,y:f-this.height*r*.005,width:u,height:this.height*r*.01,alpha:t};t=u>v?ya:aa;h.graphic=da=c.image(n,W).attr(aa).css({opacity:.01*s}).data("alwaysInvisible",0===q).data("setRolloverProperties",p).data("setRolloverAttr",ya).data("setRolloutAttr",aa).data("anchorRadius",q).data("anchorHoverRadius",r);F.push(da);if(y||x||p)ja=h.tracker=c.rect(G).attr(t).attr({cursor:y?"pointer":"",stroke:sa,
"stroke-width":g.lineWidth,fill:sa,ishot:!0,visibility:z}).data("eventArgs",k).click(function(b){xa.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(l);(oa=h.dataLabel=a.drawPlotLineLabel(b,d,m,e,f))&&F.push(oa)}},tb=function(c,e,f,g){return function(){(oa=f.dataLabel=a.drawPlotLineLabel(b,d,g,c,e))&&F.push(oa)}},ia=function(b){xa.call(this,a,b)},
ra=function(b,c){return function(d){a.hoverPlotAnchor(this,d,c,b,a)}};L=function(a,b,c,d){var e=a.length,f=a[e-1],g=f.length,h=f[0],f=f[g-2];3>g||("R"===h&&3===g&&(a[e-1][0]="L"),b&&a.push(["L",f,d,c,d,"Z"]))};Q=D.area=D.area||c.group("area",D);N=D.line||(D.line=c.group("line-connector",D));c.group("connector-shadow",N);ca=c.group("anchor-shadow",N);h=c.group("area-connector",N);W=c.group("area-anchors",N);W.hide();ca.hide();a.addCSSDefinition(".fusioncharts-datalabels .fusioncharts-label",q);J.insertAfter(D);
J.attr({"class":"fusioncharts-datalabels",transform:"...t"+V+","+O});r&&a.animationCompleteQueue.push({fn:e,scope:a});q=0;for(D=s.length;q<D;q+=1)if(v=s[q],B=v.y,N=$.length,U=E.length,da=ja=oa=null,2<=N&&(S=$[N-1],A=S.length),null===B)0===t.connectNullData&&(C=null);else{fa=f[q]={chart:a,index:q,value:B};w=g(v.x,q);y=v.link;A=v.tooltext||v.toolText;w=k.getAxisPosition(w);B=n.getAxisPosition(B);if((ba=v.marker)&&ba.enabled)if(ua={index:q,link:y,value:v.y,displayValue:v.displayValue,categoryLabel:v.categoryLabel,
toolText:A,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},T=ba.radius,ga=ba.shadow,Z=ba.symbol.split("_"),aa=ya={},ta=v.rolloverProperties,ba.imageUrl)T=new Sa.Image,T.onload=za(w,B,ba,fa,ua,A,ta,q),T.onerror=tb(w,B,fa,q),T.src=ba.imageUrl;else{if(ta=v.rolloverProperties)aa={polypath:[Z[1]||2,w,B,T,ba.startAngle,0],fill:ha(ba.fillColor),"stroke-width":ba.lineWidth,stroke:ha(ba.lineColor)},ya={polypath:[ta.sides||2,w,B,ta.radius,ta.startAngle,ta.dip],fill:ha(ta.fillColor),"stroke-width":ta.lineWidth,
stroke:ha(ta.lineColor)};da=fa.graphic=c.polypath(Z[1]||2,w,B,T,ba.startAngle,0,W).attr({fill:ha(ba.fillColor),"stroke-width":ba.lineWidth,stroke:ha(ba.lineColor),"stroke-linecap":"round",cursor:y?"pointer":"",ishot:!0,visibility:0===T?"hidden":z}).data("alwaysInvisible",0===T).data("setRolloverProperties",ta).data("setRolloverAttr",ya).data("setRolloutAttr",aa).data("anchorRadius",T).data("anchorHoverRadius",ta&&ta.radius).shadow(ga||!1,ca);if(y||x||ta)T=Za(T,ta&&ta.radius||0,P),ja=c.polypath(Z[1]||
2,w,B,T,ba.startAngle,0,G).attr({cursor:y?"pointer":"",stroke:sa,"stroke-width":0,ishot:!0,fill:sa,visibility:z});(ja||da).data("eventArgs",ua).click(ia).hover(ra(fa,"DataPlotRollOver"),ra(fa,"DataPlotRollOut")).tooltip(A)}null!==C?2<=N?("M"===$[N-1][0]&&$.push(["R"]),"M"===E[U-1][0]&&E.push(["R"]),N=$.length,U=E.length,S=$[N-1],A=S.length,$[N-1].push(w),$[N-1].push(B),E[U-1].push(w),E[U-1].push(B),q===D-1&&"R"===S[0]&&(L($,!0,Y,K),L(E,!1))):($.push(["M",H,C]),$.push(["R",w,B]),E.push(["M",H,C]),
E.push(["R",w,B]),Y=H):null===C&&2<=N&&("R"===S[0]&&(L($,!0,Y,K),L(E,!1)),$.push(["M",w,B]),E.push(["M",w,B]),Y=w);da&&F.push(da);a.drawTracker&&a.drawTracker.call(a,b,d,q);fa.graphic=da;fa.dataLabel=oa;fa.tracker=void 0;ba&&ba.imageUrl||(oa=a.drawPlotLineLabel(b,d,q,w,B));oa&&F.push(oa);a.drawTracker&&a.drawTracker.call(a,b,d,q);H=w;C=B}if(S=$[$.length-1])A=S.length,"Z"!==S[A-1]&&"R"===S[0]&&(L($,!0,Y,K),L(E,!1));2<=$.length&&(H=c.path($,Q).attr({fill:ha(d.fillColor),"stroke-dasharray":d.dashStyle,
"stroke-width":u?0:d.lineWidth,stroke:ha(d.lineColor),"stroke-linecap":"round",visibility:z}).shadow(t.shadow&&v.shadow),b.graphic=H,F.push(H));r?la=Q.attr({"clip-rect":l["clip-canvas-init"]}).animate({"clip-rect":l["clip-canvas"]},r,"normal",a.getAnimationCompleteFn()):(e&&e(),e=void 0);u&&(2<=E.length&&(I=c.path(E,h).attr({stroke:ha(d.lineColor),"stroke-width":d.lineWidth,"stroke-dasharray":v.dashStyle||d.dashStyle,"stroke-linecap":"round",visibility:z}).shadow(t.shadow||v.shadow)),F.push(I),r&&
h.attr({"clip-rect":l["clip-canvas-init"]}).animateWith(Q,la,{"clip-rect":l["clip-canvas"]},r,"normal"));b.visible=!m;return b}},r["renderer.cartesian"]);r("renderer.kagi",{drawPlotKagi:function(b,d){var a=this,c=a.paper,e=a.options,f=a.elements,g=b.data,l=e.plotOptions.series,t=a.xAxis[d.xAxis||0],m=a.yAxis[d.yAxis||0],q=d.canvasPadding,k=d.xShiftLength,n=b.items,s=a.logic,r=!1===d.visible?"hidden":"visible",u=!1!==(e.tooltip||{}).enabled,w={stroke:ha({color:d.rallyColor,alpha:d.rallyAlpha}),"stroke-linecap":"round",
"stroke-linejoin":"round","stroke-width":d.rallyThickness||d.lineWidth,"stroke-dasharray":d.rallyDashed},x={stroke:ha({color:d.declineColor,alpha:d.declineAlpha}),"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":d.declineThickness||d.lineWidth,"stroke-dasharray":d.declineDashed},v={"true":w["stroke-width"],"false":x["stroke-width"]},y=a.layers,B=y.dataset=y.dataset||c.group("dataset-orphan"),A=y.datalabels=y.datalabels||c.group("datalabels").insertAfter(B),E=y.tracker,y=isNaN(+l.animation)&&
l.animation.duration||1E3*l.animation,F=f["clip-canvas-init"].slice(0),f=f["clip-canvas"].slice(0),C=0,H=t.getAxisPosition(C),Y=a.chartWidth,K=a.chartHeight,D=function(){ga.attr({"clip-rect":null});fa.show();ya.show();A.attr({transform:"...t"+-Y+","+-K})},G=[],J=[],I,P,V,O,N,ca,W,Q,S,T,$,U,L,da,ba,Z,aa,ja,oa=e.chart.anchorTrackingRadius,la,fa,ga,ya,ia,ka,ua,za,tb,ea,ma;if(g.length){e=B.line||(B.line=c.group("line-connector",B));c.group("connector-shadow",e);fa=c.group("anchor-shadow",e);ga=c.group("connector",
e);ya=c.group("anchors",e);ya.hide();fa.hide();A.attr({transform:"...t"+Y+","+K});y&&a.animationCompleteQueue.push({fn:D,scope:this});W=!!g[0].isRally;e=0;for(B=g.length;e<B;e+=1)n[e]={chart:a,index:e,graphic:null,line:[],dataLabel:null,tracker:null},Q=g[e],S=Q.y,Q.isDefined||(S=Q.plotValue),S=h(Q.plotValue,S),Q.plotY=lb(m.getAxisPosition(Q.y),2),Q.graphY=lb(m.getAxisPosition(S),2),Q.plotX=H,Q.isShift&&(C+=1,H=t.getAxisPosition(C)),e&&(S=g[e-1],W=Q&&Q.objParams&&Q.objParams.isRally,L=Q&&Q.objParams&&
Q.objParams.lastHigh,da=Q&&Q.objParams&&Q.objParams.lastLow,ba=Q&&Q.objParams&&Q.objParams.isRallyInitialised,S&&ba&&S.isRally!==Q.isRally?(Q.isChanged=!0,Q.ty=lb(m.getAxisPosition(W?L:da),2)):Q.isChanged=!1);t=a.canvasLeft+q;H=t+k/2;T=g[0].plotY;W=!!g[0].isRally;m=ra(T)+v[W]%2/2;W?G.push("M",t,m,"H",H):J.push("M",t,m,"H",H);ib(g,function(e,f){if(Z=g[f+1])ja=["M",H,T],W=e.isRally,e.isShift&&(H+=k,T=e.graphY,ja.push("H",H),ja[2]=ra(ja[2])+v[W]%2/2,ja=ja.toString(),W?G.push(ja):J.push(ja),ja=["M",H,
T]),Z.isChanged&&(T=Z.ty,ja.push("V",T),ja[1]=ra(ja[1])+v[W]%2/2,ja=ja.toString(),W?G.push(ja):J.push(ja),ja=["M",H,T]),aa=Z.isRally,Z.graphY!==ja[2]&&(ja.push("V",Z.graphY),ja[1]=ra(ja[1])+v[aa]%2/2,ja=ja.toString(),aa?G.push(ja):J.push(ja)),T=Z.graphY;$=e.plotX;U=e.plotY;O=e.marker;I=e&&e.link;P=e&&e.toolText;if(void 0!==U&&!isNaN(U)&&e.isDefined)if(N=O.symbol.split("_"),tb="spoke"===N[0]?1:0,ea=O.radius,ia=O.shadow,la={index:f,link:I,value:e.y,displayValue:e.displayValue,categoryLabel:e.categoryLabel,
toolText:P,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},ka=ua={},za=e.rolloverProperties,O.imageUrl)ma=new Sa.Image,ma.onload=function(e,f,g,h,k,l,p,m){return function(){var n=g.imageUrl,q=g.imageScale,s=g.imageAlpha,t=p.imageHoverAlpha,v=p.imageHoverScale,x=this.width*q*.01,w=this.width*v*.01;ka={x:e-this.width*q*.005,y:f-this.height*q*.005,width:x,height:this.height*q*.01,alpha:s};ua={x:e-this.width*v*.005,y:f-this.height*v*.005,width:w,height:this.height*v*.01,alpha:t};
t=w>x?ua:ka;h.graphic=ca=c.image(n,ya).attr(ka).css({opacity:.01*s}).data("alwaysInvisible",0===q).data("setRolloverProperties",p).data("setRolloverAttr",ua).data("setRolloutAttr",ka).data("anchorRadius",q).data("anchorHoverRadius",v);if(I||u||p)V=h.tracker=c.rect(E).attr(t).attr({cursor:I?"pointer":"",stroke:sa,"stroke-width":g.lineWidth,fill:sa,ishot:!0,visibility:r}).data("eventArgs",k).click(function(b){xa.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",
b,a)}}(h),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(h)).tooltip(l);h.dataLabel=a.drawPlotKagiLabel(b,d,m,e,f)}}($,U,O,n[f],la,P,za,f),ma.onerror=function(c,e,f,g,h,k,l,p){return function(){g.dataLabel=a.drawPlotKagiLabel(b,d,p,c,e)}}($,U,O,n[f],la,P,za,f),ma.src=O.imageUrl;else{!s.multisetRealtime&&za&&(ka={polypath:[N[1]||2,$,U,ea,O.startAngle,tb],fill:ha(O.fillColor),"stroke-width":O.lineWidth,stroke:ha(O.lineColor)},ua={polypath:[za.sides||2,$,U,za.radius,
za.startAngle,za.dip],fill:ha(za.fillColor),"stroke-width":za.lineWidth,stroke:ha(za.lineColor)});ca=n[f].graphic=c.polypath(N[1]||2,$,U,ea,O.startAngle,tb,ya).attr({fill:ha(O.fillColor),"stroke-width":O.lineWidth,stroke:ha(O.lineColor),"stroke-linecap":"round",cursor:I?"pointer":"",ishot:!0,visibility:0===ea?"hidden":r}).data("alwaysInvisible",0===ea).data("setRolloverProperties",za).data("setRolloverAttr",ua).data("setRolloutAttr",ka).data("anchorRadius",ea).data("anchorHoverRadius",za&&za.radius).shadow(ia||
!1,fa);if(I||u)ea=Za(ea,za&&za.radius||0,oa),V=c.circle($,U,ea,E).attr({cursor:I?"pointer":"",stroke:sa,ishot:!0,fill:sa,"stroke-width":O.lineWidth,visibility:r}).data("eventArgs",la).click(function(b){xa.call(this,a,b)}).hover(function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(n[f]),function(b){return function(c){a.hoverPlotAnchor(this,c,"DataPlotRollOut",b,a)}}(n[f])).tooltip(P);n[f].tracker=V||ca;O&&O.imageUrl||(n[f].dataLabel=a.drawPlotKagiLabel(b,d,f,$,U))}});w=
c.path(G,ga).attr(w).shadow(l.shadow);n[0].line.push(w);w=c.path(J,ga).attr(x).shadow(l.shadow);n[0].line.push(w);y?ga.attr({"clip-rect":F}).animate({"clip-rect":f},y,"normal",a.getAnimationCompleteFn()):(D&&D(),D=void 0)}},drawPlotKagiLabel:function(b,d,a,c,e,f){var g=this.options,h=g.chart,t=this.paper,m=this.layers,q=g.plotOptions.series.dataLabels.style,g=1===h.rotateValues?270:0,k=this.canvasHeight,n=this.canvasTop,s=this.canvasLeft,r=b.data[a];a=b.items[a];b=(b=a.graphic)&&"image"==b.type&&
.5*b.attr("height")||r.marker&&r.marker.radius-3;h=h.valuePadding+2+b;d=!1===d.visible?"hidden":"visible";b=a.dataLabel;var u={fontFamily:q.fontFamily,fontSize:q.fontSize,lineHeight:q.lineHeight,fontWeight:q.fontWeight,fontStyle:q.fontStyle},w,x,v;f=f||m.datalabels;m=r.displayValue;U(m)&&m!==A?(b?g&&b.rotate(360-g):b=a.dataLabel=t.text(f).attr({text:m,fill:q.color,"text-bound":[q.backgroundColor,q.borderColor,q.borderThickness,q.borderPadding,q.borderRadius,q.borderDash]}).css(u),b.attr({title:r.originalText||
"",fill:q.color}),m=b.getBBox(),f=q=g?m.width:m.height,t=e,f=f+h+4,q=.5*q+h,g?(s=!0,r.vAlign===Ea?(t-=q,s=e-n<f):r.vAlign===Fa&&(t+=q-2,w=1,s=e+f>n+k),s&&(x=1,c-=h+3+.5*m.height,t=e)):r.vAlign===Ea?t-=q:r.vAlign===Fa?(t+=q,w=1):m.width>c-s?t-=q:(x=1,c-=h+3,v="end"),b.attr({x:c,y:t,"text-anchor":v,visibility:d}).data("isBelow",w).data("isMiddle",x),g&&b.attr("transform","T0,0,R"+g)):b&&b.attr({text:A});return b}},r["renderer.cartesian"]);r("renderer.boxandwhisker",{drawPlotBoxandwhisker2d:function(b,
d){var a=this,c=a.paper,e=a.options,f=e.plotOptions.series,h=a.xAxis[d.xAxis||0],l=a.yAxis[d.xAxis||0],t=isNaN(+f.animation)&&f.animation.duration||1E3*f.animation,m=a.layers,q=m.dataset=m.dataset||c.group("dataset-orphan"),k=m.datalabels=m.datalabels||c.group("datalabels"),n=d.data,s=b.items||(b.items=[]),r=!1===d.visible?"hidden":"visible",u=!1!==(e.tooltip||{}).enabled,w=d.columnPosition||0,x=a.definition.chart,v=h.getAxisPosition(0),y=h.getAxisPosition(1)-v,B=f.groupPadding,C=f.maxColWidth,v=
d.numColumns||1,y=(1-.01*(x&&x.plotspacepercent))*y||E(y*(1-2*B),C*v),x=y/v,w=w*x-y/2,y=e.chart,v=1===y.rotateValues?270:void 0,y=g(y.valuePadding,0),B=q.upperBoxGroup=q.upperBoxGroup||c.group("upperBox",q),C=q.lowerBoxGroup=q.lowerBoxGroup||c.group("lowerBox",q),G=q.medianGroup=q.medianGroup||c.group("median",q),F=b.graphics=b.graphics||[],D=s.displayValues={},H=D.upperQuartileValues=[],Y=D.lowerQuartileValues=[],D=D.medianValues=[],K=function(b){xa.call(this,a,b)},m=m.shadows||(m.shadows=c.group("shadows",
q).toBack()),e=e.plotOptions.series.dataLabels.style,J={fontFamily:e.fontFamily,fontSize:e.fontSize,lineHeight:e.lineHeight,fontWeight:e.fontWeight,fontStyle:e.fontStyle},I=function(b,c){return function(d){b.upperBox.attr(c.upperBox);b.lowerBox.attr(c.lowerBox);b.upperBoxBorder.attr(c.upperBoxBorder);b.lowerBoxBorder.attr(c.lowerBoxBorder);b.upperQuartile.attr(c.upperQuartile);b.lowerQuartile.attr(c.lowerQuartile);b.medianBorder.attr(c.median);xa.call(this,a,d,"DataPlotRollOver")}},S=function(b,c){return function(d){b.upperBox.attr(c.upperBox);
b.lowerBox.attr(c.lowerBox);b.upperBoxBorder.attr(c.upperBoxBorder);b.lowerBoxBorder.attr(c.lowerBoxBorder);b.upperQuartile.attr(c.upperQuartile);b.lowerQuartile.attr(c.lowerQuartile);b.medianBorder.attr(c.median);xa.call(this,a,d,"DataPlotRollOut")}},L,P,V,O,N,ca,W,Q,Z,T,$,da,aa,fa,ba,ga,ia,ja,oa,la,ta,ea,ya,ka,sa,ua;ja=0;for(oa=n.length;ja<oa;ja+=1)P=n[ja],V=P.y,N=P.link,ca=P.tooltext||P.toolText,(L=s[ja])||(L=s[ja]={index:ja,value:V,upperBox:null,lowerBox:null,upperBoxBorder:null,lowerBoxBorder:null,
upperQuartileBorder:null,lowerQuartileBorder:null,medianBorder:null,upperQuartileValues:null,lowerQuartileValues:null,medianValues:null,tracker:null,hot:null}),null!==V&&(l.getAxisPosition(V),V=g(P.x,ja),V=h.getAxisPosition(V),w&&(V+=w),O=f.borderRadius||0,Q=((Q=(aa=P.upperQuartile||{},aa.value))||0===Q)&&l.getAxisPosition(Q),W=((W=(fa=P.lowerQuartile||{},fa.value))||0===W)&&l.getAxisPosition(W),T=((Z=(ia=P.median)&&ia.value)||0===Z)&&l.getAxisPosition(Z),$=T-Q,da=W-T,ba=P.upperBoxBorder||{},ga=P.lowerBoxBorder||
{},Z={index:ja,link:N,maximum:P.displayValueMax,minimum:P.displayValueMin,median:Z,q3:aa.value,q1:fa.value,maxDisplayValue:P.displayValueMax,minDisplayValue:P.displayValueMin,medianDisplayValue:P.displayValueMid,q1DisplayValue:P.displayValueQ1,q3DisplayValue:P.displayValueQ3,categoryLabel:P.categoryLabel,toolText:P.toolText,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},la=ra(V)+ba.borderWidth%2*.5,ta=ra(V+x)+ba.borderWidth%2*.5,ea=ra(Q)+aa.borderWidth%2*.5,x=ta-la,ua=P.hoverEffects.rollOut=
{upperBox:{fill:ha(P.color.FCcolor),"stroke-width":0,"stroke-dasharray":ba.dashStyle,cursor:N?"pointer":"",ishot:!0,visibility:r},lowerBox:{fill:ha(P.lowerboxColor.FCcolor),"stroke-width":0,"stroke-dasharray":ga.dashStyle,cursor:N?"pointer":A,ishot:!0,visibility:r},upperBoxBorder:{stroke:ba.color,"stroke-width":ba.borderWidth,"stroke-linecap":"round",dashstyle:ba.dashStyle,ishot:!0,visibility:r},lowerBoxBorder:{stroke:ga.color,"stroke-width":ga.borderWidth,dashstyle:ga.dashStyle,"stroke-linecap":"round",
ishot:!0,visibility:r},upperQuartile:{stroke:ha(aa.color),"stroke-width":aa.borderWidth,"stroke-dasharray":aa.dashSyle,"stroke-linecap":"round",cursor:N?"pointer":A,ishot:!0,visibility:r},lowerQuartile:{stroke:ha(fa.color),"stroke-width":fa.borderWidth,"stroke-dasharray":fa.dashSyle,cursor:N?"pointer":"","stroke-linecap":"round",ishot:!0,visibility:r},median:{stroke:ha(ia.color),"stroke-width":ia.borderWidth,"stroke-dasharray":ia.dashSyle,cursor:N?"pointer":"","stroke-linecap":"round",ishot:!0,visibility:r}},
N=L.graphic=L.upperBox=c.rect(la,ea,x,$,O,B).attr(ua.upperBox).shadow(f.shadow&&P.shadow,m),$=L.upperBoxBorder=c.path(["M",la,ea,"V",ea+$,"M",ta,ea,"V",ea+$],B).attr(ua.upperBoxBorder).shadow(f.shadow&&ba.shadow,m),ba=L.upperQuartile=c.path(["M",la,ea,"H",la+x],G).attr(ua.upperQuartile).shadow(f.shadow&&aa.shadow,m),la=ra(V)+ga.borderWidth%2*.5,ta=ra(V+x)+ga.borderWidth%2*.5,ea=ra(T+da)+fa.borderWidth%2*.5,O=L.lowerBox=c.rect(la,T,x,ea-T,O,C).attr(ua.lowerBox).shadow(f.shadow&&P.shadow,m),ga=L.lowerBoxBorder=
c.path(["M",la,T,"V",T+da,"M",ta,T,"V",T+da],C).attr(ua.lowerBoxBorder).shadow(f.shadow&&ga.shadow,m),ea=ra(T+da)+fa.borderWidth%2*.5,da=L.lowerQuartile=c.path(["M",la,ea,"H",la+x],G).attr(ua.lowerQuartile).shadow(f.shadow&&aa.shadow,m),ea=ra(T)+ia.borderWidth%2*.5,la=L.medianBorder=c.path(["M",la,ea,"H",la+x],G).attr(ua.median),ea=b.index+"_"+ja,N.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),O.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",
Z),$.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),ga.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),ba.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),da.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),la.click(K).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).data("eventArgs",Z),Z=v?Ca:Va,U(aa.displayValue)&&aa.displayValue!==A&&(ya=H[ja]=c.text(k).attr({text:aa.displayValue,
x:V+x/2,title:aa.originalText||"",y:Q-y,"text-anchor":v?"start":Z,"vertical-align":v?"middle":"bottom",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).css(J),v&&ya.rotate(v,V+x/2,Q-y)),U(ia.displayValue)&&ia.displayValue!==A&&(sa=D[ja]=c.text(k).attr({text:ia.displayValue,x:V+x/2,y:T-y,title:ia.originalText||"","text-anchor":v?"start":Z,"vertical-align":v?
"middle":"bottom",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).css(J),v&&sa.rotate(v,V+x/2,T-y)),U(fa.displayValue)&&fa.displayValue!==A&&(ka=Y[ja]=c.text(k).attr({text:fa.displayValue,x:V+x/2,y:W+y,title:fa.originalText||"","text-anchor":v?"start":Z,"vertical-align":v?"middle":"top",visibility:r,fill:e.color,"text-bound":[e.backgroundColor,e.borderColor,
e.borderThickness,e.borderPadding,e.borderRadius,e.borderDash]}).hover(I(L,P.hoverEffects),S(L,ua)).data("groupId",ea).css(J),v&&ka.rotate(v,V+x/2,W+y)),u&&(N.tooltip(ca),O.tooltip(ca),$.tooltip(ca),ga.tooltip(ca),ba.tooltip(ca),da.tooltip(ca),la.tooltip(ca),ya&&ya.tooltip(ca),sa&&sa.tooltip(ca),ka&&ka.tooltip(ca)),N&&F.push(N),O&&F.push(O),la&&F.push(la),$&&F.push($),ga&&F.push(ga),ba&&F.push(ba),da&&F.push(da),ya&&F.push(ya),sa&&F.push(sa),ka&&F.push(ka));q.attr({"clip-rect":[a.canvasLeft,a.canvasTop,
t?0:a.canvasWidth,a.canvasHeight]});t&&q.animate({"clip-rect":[a.canvasLeft,a.canvasTop,a.canvasWidth,a.canvasHeight]},t,"normal");b.visible=!1!==d.visible}},r["renderer.cartesian"]);r("renderer.dragnode",{drawPlotDragnode:function(b,d){var a=this,c=b.graphics=[],e={},f=a.options,p=f.tooltip,l=f._FCconf.inCanvasStyle,t=a.paper,m=a.layers,q=b.items,k=m.dataset,n=m.connector,s=e.xAxis=a.xAxis[d.xAxis||0],r=e.yAxis=a.yAxis[d.yAxis||0],w=d.data,y=e.elements={data:[]},x=a.smartLabel,v=f.plotOptions.series.dataLabels.style,
E=f.orphanStyles.connectorlabels.style,B=f.connectors,C=f.connectorsStore,D=f.pointStore||(f.pointStore=[]),F=f.invalConnectStore,J={fontFamily:v.fontFamily,fontSize:v.fontSize,lineHeight:v.lineHeight,fontWeight:v.fontWeight,fontStyle:v.fontStyle},H=function(b){D[b.from]&&D[b.to]?C.push(new Aa(b,D,E,t,n,a)):F.push(b)},Y=function(){var b=this;b.data("fire_click_event",1);clearTimeout(b._longpressactive);b._longpressactive=setTimeout(function(){b.data("fire_click_event",0);b.data("viewMode")||a.logic.showLabelDeleteUI(a,
b)},1E3)},K=function(){this.data("fire_click_event")&&(this.data("fire_click_event",0),bb.call(this))},S=function(b){var c=this.data("fire_click_event");bb.call(this);c&&xa.call(this,a,b,"LabelClick")},L=function(b){xa.call(this,a,b,"LabelRollover")},Z=function(b){xa.call(this,a,b,"LabelRollout")},da=function(b,c,d,e,f){d=this.data("data");e=d.bBox;var g=a.canvasTop+a.canvasHeight,h=a.canvasLeft+a.canvasWidth;this.data("fire_dragend")||(xa.call(this,a,f,"LabelDragStart"),this.data("fire_dragend",
1));e.x+b<a.canvasLeft&&(b=a.canvasLeft-e.x);e.x2+b>h&&(b=h-e.x2);e.y+c<a.canvasTop&&(c=a.canvasTop-e.y);e.y2+c>g&&(c=g-e.y2);this.attr({x:e.x+b,y:e.y+c});d.label.attr({x:d.ox+b,y:d.oy+c})},P=function(){var a=this.data("data"),b=this.getBBox();a.ox=a.label.attr("x");a.oy=a.label.attr("y");a.bBox=b;this.data("fire_dragend",0)},V=function(b){var c=this.data("data"),d=c.label,e={hcJSON:{dragableLabels:[]}},f=this.data("eventArgs"),g=f.x=a.xAxis[0].getAxisPosition(d.attr("x"),1),d=f.y=a.yAxis[0].getAxisPosition(d.attr("y"),
1);e.hcJSON.dragableLabels[c.labelNode.index]={y:d,x:g};I(a.logic.chartInstance.jsVars._reflowData,e,!0);this.data("fire_dragend")&&(c=dc(a.container,b),c.sourceEvent="labeldragend",u.raiseEvent("chartupdated",I(c,f),a.logic.chartInstance),xa.call(this,a,b,"labeldragend"))},O,N,ca,W,Q,aa,T,$,fa,ga,ea,ba,ia,ka,ja,oa,la,ta,ra,ya,ma,wa,ua,za;n||(n=m.connector=t.group("connectors").insertBefore(k));p&&!1!==p.enabled&&n.trackTooltip(!0);m=y.group=t.group(k);p=y.dragLabelGroup=t.group(k);x.setStyle(v);
k=0;for(y=w.length;k<y;k+=1){O=w[k];W=O.marker;O._yPos=ca=r.getAxisPosition(O.y);O._xPos=N=s.getAxisPosition(O.x);aa=q[k]||(q[k]={});za=O.hoverEffects&&O.hoverEffects.rolloverProperties;W=aa.graphic;T=aa.image;$=aa.label;W=O.marker;if(void 0!==ca&&!isNaN(ca)&&W){ea=O._config=O._config||{shapeArg:{},startConnectors:[],endConnectors:[]};ba=ea.shapeArg;ia=g(W&&W.height);ka=g(W&&W.width);ja=g(W&&W.radius);Q=h(W&&W.symbol);oa="rectangle"===Q;fa=O.id;la=O.imageNode;ta=O.imageURL;ra=O.imageAlign;ya=O.labelAlign;
ma=oa?ka:1.4*ja;wa=g(O.imageWidth,ma);oa=oa?ia:1.4*ja;ua=g(O.imageHeight,oa);ja={fill:ha(W.fillColor),"stroke-width":W.lineWidth,r:W.radius,stroke:ha(W.lineColor)};Q=ba.symbol=h(W&&W.symbol,e.symbol);Q=Q.split("_");ba.x=N;ba.y=ca;ba.radius=W.radius;ba.width=ka;ba.height=ia;ba.sides=Q[1];"poly"===Q[0]||"circle"===Q[0]?W=t.polypath(Q[1],N,ca,W.radius,W.startAngle,0,m).attr(ja):(ea.shapeType=Kb,ba.x=N-ka/2,ba.y=ca-ia/2,ba.r=0,ja.width=ka,ja.height=ia,ja.x=N-ka/2,ja.y=ca-ia/2,za&&O.hoverEffects.enabled&&
(za.x=N-za.width/2,za.y=ca-za.height/2,delete za.r),delete ja.r,W=t.rect(ba.x,ba.y,ka,ia,0,m).attr(ja));if(la&&ta){ua>oa&&(ua=oa);wa>ma&&(wa=ma);switch(ra){case "middle":za=ca-ua/2;break;case "bottom":za=oa>ua?ca+oa/2-ua:ca-ua/2;break;default:za=oa>ua?ca-.5*oa:ca-ua/2}ea.imageX=N-wa/2;ea.imageY=za;T||(T=t.image(m));T.attr({src:ta,x:ea.imageX,y:za,width:wa,height:ua})}ea=O.displayValue;if(U(ea)||ea!==A){ma=x.getSmartText(ea,ma,oa);ea=.5*oa-.5*ma.height;switch(ya){case "top":ea=-ea;break;case "bottom":break;
default:ea=0}O._yAdjustment=ya=ea;ca+=ya;$?$.attr({text:ma.text,title:ma.tooltext||"",fill:v.color,x:N,y:ca}):($=t.text(m),$.attr({text:ma.text,fill:v.color,x:N,y:ca,"text-bound":[v.backgroundColor,v.borderColor,v.borderThickness,v.borderPadding,v.borderRadius,v.borderDash]}).css(J))}D[fa]=O;aa.index=k;aa.graphic=W;aa.label=$;aa.image=T;fa=a.drawTracker&&a.drawTracker.call(a,b,d,k,ja);W&&c.push(W);$&&c.push($);T&&c.push(T);fa&&c.push(fa)}aa.index=k;aa.tracker=fa}if(C)for(k=F.length-1;0<=k;k-=1)c=
F[k],D[c.from]&&D[c.to]&&(F.splice(k,1),C.push(new Aa(c,D,E,t,n,a)));else for(C=f.connectorsStore=[],F=f.invalConnectStore=[],k=0;k<B.length;k+=1)ib(B[k].connector,H);if(!a.dragLabelsDrawn&&(ga=f.dragableLabels)&&0<(y=ga.length)){ma=a.plotSizeX;oa=a.plotSizeY;c=parseInt(l.fontSize,10);q=l.backgroundColor;w=l.borderColor;for(k=0;k<y;k+=1)if(x=ga[k],x.index=k,J=G(h(x.text,x.label)))J=G(J),H=s.getAxisPosition(x.x||0),ca=r.getAxisPosition(x.y||0,0,1,0,1),O=g(x.fontsize,c),N=La(h(x.color,l.color)),m=g(x.alpha,
100)/100,v=g(x.allowdrag,1),ya=.8*O,B=g(x.padding,5),T={fontSize:O+"px",fontFamily:l.fontFamily,fill:N,color:N,opacity:m},kc(T),N=h(x.bgcolor,q),aa=h(x.bordercolor,w),O={link:x.link,text:J,x:H,y:ca,allowdrag:v,sourceType:"labelnode"},N&&(T.backgroundColor=N.replace(mb,Oa),T.backgroundOpacity=m),aa&&(T.borderColor=aa.replace(mb,Oa),T.borderOpacity=m),J=t.text(p).css(T).attr({text:J,x:H,y:ca,align:Va,"text-bound":[(x.bgcolor||"").replace(mb,Oa),(x.bordercolor||"").replace(mb,Oa),g(x.borderthickness,
1),B,g(x.radius,0),g(x.dashed,0)?Ba(g(x.dashlen,5),g(x.dashgap,4),g(x.borderthickness,1)):void 0]}),H=J.getBBox(),B=t.rect(H.x-B,H.y-B,H.width+2*B,H.height+2*B,0).attr({fill:sa,ishot:!0,"stroke-width":0}).css({cursor:v?"move":""}).mousedown(Y).mousemove(K).mouseup(S).data("viewMode",f.chart.viewMode).hover(L,Z),p.appendChild(B),B.data("data",{label:J,labelNode:x,chart:a}).data("eventArgs",O).data("link",x.link),v&&B.drag(da,P,V);a.dragLabelsDrawn=!0}return e},drawTracker:function(b,d,a,c){var e=this,
f=e.paper,g=b.data[a],l=b.items[a],t=g._config,m=e.layers.tracker,q=Pa({},t.pointAttr),k=t.shapeArg,n=k.x,s=k.y,r=k.width,w=k.height,y=k.radius,x=e.dragStart,v=e.dragUp,C=e.dragMove,B=e.elements,E=B.waitElement,D=g.link?"pointer":g.allowDrag?"move":"",F=l.tracker;q.fill=sa;q.stroke=sa;q.cursor=D;q.ishot=!0;F="rect"===t.shapeType?f.rect(n,s,r,w,0).attr(q):f.polypath(k.sides,n,s,y,k.startAngle).attr(q);q={index:a,link:g.link,y:g.y,x:g.x,shape:h(g._options.shape,"rect"),width:r,height:w,radius:y,sides:k.sides,
label:g.displayValue,toolText:g.toolText,id:g.id,datasetIndex:b.index,datasetName:b.name,sourceType:"dataplot"};l.tracker=F.mousedown(function(a){var b=this,c=gb&&Qa(a)||Bb,h=a.layerX||c.layerX,k=a.layerY||c.layerY,l=u.getPosition(e.container);b.data("fire_click_event",1);b.data("mousedown",1);void 0===h&&(h=(a.pageX||c.pageX)-l.left,k=(a.pageY||c.pageY)-l.top);clearTimeout(b._longpressactive);b.data("move",!0);e.options.chart.viewMode||((E=B.waitElement)||(E=B.waitElement=f.ringpath(m).attr({fill:ha({alpha:"100,100",
angle:120,color:"CCCCCC,FFFFFF",ratio:"30,50"}),"stroke-width":0})),h+=11,k-=21,E.attr({ringpath:[h,k,8,11,0,0]}).show().animate({ringpath:[h,k,8,11,0,6.28]},1E3),b._longpressactive=setTimeout(function(){var a=d.name!==A&&void 0!==d.name?d.name+Da+" ":A,c=d.id,f=g._options,h={circle:"circ",polygon:"poly",undefined:"rect"}[f.shape];B.waitElement&&B.waitElement.hide();b.data("fire_click_event",0);e.logic.showNodeUpdateUI(e,{x:{value:g.x},y:{value:g.y},draggable:{value:aa(f.allowdrag,1)},color:{value:f.color},
alpha:{value:f.alpha},label:{value:aa(f.label,f.name)},tooltip:{value:f.tooltext},shape:{value:h},rectWidth:{value:f.width},rectHeight:{value:f.height},circPolyRadius:{value:f.radius},polySides:{value:f.numsides},image:{value:f.imagenode},imgWidth:{value:f.imagewidth},imgHeight:{value:f.imageheight},imgAlign:{value:f.imagealign},imgUrl:{value:f.imageurl},id:{value:g.id,disabled:!0},link:{value:f.link},dataset:{innerHTML:'<option value="'+c+'">'+a+c+"</option>",disabled:!0}},!0)},1E3))}).mousemove(function(){B.waitElement&&
B.waitElement.hide();this.data("fire_click_event",0);bb.call(this)}).mouseup(function(a){var b=this.data("fire_click_event");B.waitElement&&B.waitElement.hide();bb.call(this);this.data("mousedown",0);b&&xa.call(this,e,a)}).hover(function(a,b){return function(c){a.graphic.attr(b);xa.call(this,e,c,"DataPlotRollOver")}}(l,g.hoverEffects.rolloverProperties),function(a,b){return function(c){a.graphic.attr(b);xa.call(this,e,c,"DataPlotRollOut")}}(l,c)).data("eventArgs",q).data("drag-options",{plotItems:l,
dataObj:g,endConnectors:t.endConnectors,startConnectors:t.startConnectors,boundaryTop:e.canvasTop,boundaryBottom:e.canvasTop+e.canvasHeight,boundaryLeft:e.canvasLeft,boundaryRight:e.canvasLeft+e.canvasWidth,cloneGroup:e.layers.dataset,datasetIndex:b.index,pointIndex:a,dataOptions:d,cursor:D,chart:e,link:g.link}).tooltip(g.toolText);m.appendChild(F);g.allowDrag&&F.drag(function(a,b,c,d,f){C.call(this,a,b,c,d,f,e)},function(a,b,c,d,f){x.call(this,a,b,c,d,f,e)},function(a){v.call(this,a,e)});return F},
dragStart:function(){var b=this.paper,d=this.data("drag-options")||{},a=d.dataObj,c=d.plotItems,e=c.cloneGroup,f=c.cloneGraphic,g=c.cloneImage,h=c.cloneLabel,t=this.getBBox(),m={opacity:.3};d.bBoxX=t.x;d.bBoxX2=t.x2||t.x+t.width;d.bBoxY=t.y;d.bBoxY2=t.y2||t.y+t.height;d.origX=d.lastX||(d.lastX=0);d.origY=d.lastY||(d.lastY=0);d.draged=!1;d.startYValue=a.y;d.startXValue=a.x;e||(e=c.cloneGroup=b.group(d.cloneGroup).attr(m));c.graphic&&!f&&(f=c.cloneGraphic=c.graphic.clone(),e.appendChild(f),f.attr(m));
c.image&&!g&&(g=c.cloneImage=c.image.clone(),e.appendChild(g).attr(m));c.label&&!h&&(h=c.cloneLabel=c.label.clone(),e.appendChild(h).attr(m));e.show()},dragMove:function(b,d,a,c,e,f){a=this.data("drag-options");c=a.plotItems;var g=a.bBoxX2+b,h=a.bBoxY+d,t=a.bBoxY2+d;a.bBoxX+b<a.boundaryLeft&&(b=a.boundaryLeft-a.bBoxX);g>a.boundaryRight&&(b=a.boundaryRight-a.bBoxX2);h<a.boundaryTop&&(d=a.boundaryTop-a.bBoxY);t>a.boundaryBottom&&(d=a.boundaryBottom-a.bBoxY2);g=a._transformObj={transform:"t"+(a.origX+
b)+","+(a.origY+d)};this.attr(g);c.cloneGraphic&&c.cloneGraphic.attr(g);c.cloneImage&&c.cloneImage.attr(g);c.cloneLabel&&c.cloneLabel.attr(g);a.draged||xa.call(this,f,e,"DataplotDragStart");a.draged=!0;a.lastX=b;a.lastY=d},dragUp:function(b){var d=this.data("drag-options"),a=d.plotItems,c=d.chart,e=c.xAxis[0],f=c.yAxis[0],g=c.logic,h=g.tooltipSepChar,t=g.numberFormatter,m=d.dataObj,q,k,n,s,r;if(d.draged){d.lastX+=d.origX;d.lastY+=d.origY;q=m._xPos+d.lastX;k=m._yPos+d.lastY;n=d.startConnectors;s=n.length;
for(r=0;r<s;r+=1)n[r].updateFromPos(q,k);n=d.endConnectors;s=n.length;for(r=0;r<s;r+=1)n[r].updateToPos(q,k);a.label&&a.label.attr(d._transformObj);a.image&&a.image.attr(d._transformObj);a.graphic&&a.graphic.attr(d._transformObj);e=e.getAxisPosition(q,1);f=f.getAxisPosition(k,1);m._isUserTooltip||m.toolText===A||(m.toolText=m._toolTextStr+t.dataLabels(e)+h+t.dataLabels(f));t=this.data("eventArgs");m.x=t.x=e;m.y=t.y=f;h=dc(c.container,b);h.sourceEvent="dataplotdragend";u.raiseEvent("chartupdated",
I(h,t),c.logic.chartInstance);xa.call(this,c,b,"dataplotdragend");b={hcJSON:{series:[]}};b.hcJSON.series[d.datasetIndex]={data:[]};b.hcJSON.series[d.datasetIndex].data[d.pointIndex]={_options:{x:e,y:f},x:e,y:f,toolText:m.toolText,displayValue:m.displayValue};I(g.chartInstance.jsVars._reflowData,b,!0)}a.cloneGroup&&a.cloneGroup.hide()}},r["renderer.cartesian"]);r("renderer.dragcolumn2d",{drawTracker:function(b,d,a){var c=this.paper,e=this.yAxis[0],f=b.data[a],g=e.getAxisPosition(f.y),h=b.items[a],
t=this.layers.tracker,m=h&&h.dragTracker||null,q=this.dragStart,k=this.dragUp,n=this.dragMove,s={stroke:sa,"stroke-width":gb?40:10,ishot:!0,cursor:Ta&&"ns-resize"||"n-resize"},r=e&&e.axisData&&e.axisData.plotLines,u=this._yAxisPlotLines||(this._yAxisPlotLines=[]),w=0,x,v;if(!u.length)for(x=r.length;w<x;w+=1)v=r[w],v.isGrid&&u.push(e.getAxisPosition(v.value));null!==f.y&&f.allowDrag&&(e=h.graphic.getBBox(),e=["M",e.x,g,"L",e.x+e.width,g,"Z"],m?m.animate({d:e}).attr(s):m=h.dragTracker=c.path(e,t).attr(s),
m.drag(n,q,k).data("drag-options",{items:h,yPos:g,chart:this,datasetIndex:b.index,pointIndex:a,dataOptions:d,dataObj:f}),h.dragTracker=m)},dragStart:function(){var b=this.data("drag-options"),d=b.chart,a=d.yAxis[0],c=a.max,a=a.min,e=this.getBBox();b.barH=b.items.graphic.getBBox().height;b.isAllPositive=0<c&&0<a;b.isAllPositiveZero=0<c&&0<=a;b.isAllNegative=0>c&&0>a;b.isAllNegativeZero=0>=c&&0>a;b.isPositiveNegative=0<c&&0>a;b.boundaryTop=d.canvasTop;b.boundaryBottom=d.canvasTop+d.canvasHeight;b.bBoxY=
e.y;b.bBoxY2=e.y2||e.y+e.height;b.startValue=b.dataObj.y;b.origX=b.lastX||(b.lastX=0);b.origY=b.lastY||(b.lastY=0);b.draged=!1},dragMove:function(b,d){var a=this.data("drag-options"),c=a.items,e=a.dataObj,f=a.chart,g=f.options.chart,h=f.yAxis[0],t=f.logic.numberFormatter,m=h.yBasePos,q=c.dataLabel,k={},n=a.bBoxY2+d,s=a.bBoxY+d,r=f.canvasBottom,u=e.allowNegDrag?r:m,w=f.canvasTop,x=parseFloat(e.borderWidth)||0,g=g.isCanvasBorder,v=a.isAllNegativeZero,y=a.isPositiveNegative,B=a.dataOptions;s<a.boundaryTop&&
(d=a.boundaryTop-a.bBoxY);n>u&&(d=u-a.bBoxY2);s=a._transformObj={transform:"t0,"+(a.origY+d)};a.draged||(n={dataIndex:a.pointIndex+1,datasetIndex:B.__i+1,startValue:a.startValue,datasetName:B.name},D.raiseEvent("dataplotDragStart",n,f.logic.chartInstance));n=a.yPos+d;n<=m?(k.y=n,k.height=m-n):(k.y=m,k.height=n-m);g&&!y&&(v?k.y-=k.y-(w-x/2):k.height=r-k.y+x/2);this.attr(s);c.graphic.animate(k);a.shapeAttr=k;c=a.value=ra(1E8*h.getAxisPosition(n,1))/1E8;t=t.dataLabels(c);ab.pointUpdate(e,t,c);q&&f.drawPlotColumnLabel(f.plots[a.datasetIndex],
a.dataOptions,a.pointIndex,void 0,n).attr("text",a.dataObj.displayValue);a.draged=!0;a.lastX=b;a.lastY=d},dragUp:function(){var b=this.data("drag-options"),d=b.chart,a=d.logic,c=!d.options.chart.doNotSnap,e=b.dataObj,f=b.dataOptions,g,h;b.draged&&(g=b.yPos+b.lastY,c&&(h=ab.snapPoint(d,e,g),h-g&&d.dragMove.call(this,0,h-b.yPos)),b.yPos=h,b.lastX+=b.origX,b.lastY+=b.origY,c={dataIndex:b.pointIndex+1,datasetIndex:f.__i+1,startValue:b.startValue,endValue:b.dataObj.y=b.value,datasetName:f.name},f=[d.logic.chartInstance.id,
c.dataIndex,c.datasetIndex,c.datsetName,c.startValue,c.endValue],D.raiseEvent("dataplotDragEnd",c,d.logic.chartInstance),u.raiseEvent("chartupdated",c,d.logic.chartInstance,f),c={hcJSON:{series:[]}},c.hcJSON.series[b.datasetIndex]={data:[]},b.items.tracker.attr(b.shapeAttr).tooltip(e.toolText),c.hcJSON.series[b.datasetIndex].data[b.pointIndex]={y:b.value,toolText:e.toolText,displayValue:e.displayValue},ab.setMinMaxValue(d),I(a.chartInstance.jsVars._reflowData,c,!0))}},r["renderer.cartesian"]);r("renderer.dragline",
{drawTracker:function(b,d,a){var c=this.paper,e=this.yAxis[0],f=this.xAxis[0],g=b.data[a],h=b.items[a],t=gb?20:Za(g.marker&&g.marker.radius||0,5),m=this.layers.tracker,q=h.tracker||null,k=this.dragStart,n=this.dragUp,s=this.dragMove,r={fill:sa,"stroke-width":0,cursor:Ta&&"ns-resize"||"n-resize"},u=e&&e.axisData&&e.axisData.plotLines,w=this._yAxisPlotLines||(this._yAxisPlotLines=[]),x=0,v,y;if(!w.length)for(v=u.length;x<v;x+=1)y=u[x],y.isGrid&&w.push(e.getAxisPosition(y.value));null!==g.y&&g.allowDrag&&
(f=f.getAxisPosition(a),e=e.getAxisPosition(g.y),q||(q=h.tracker=c.circle(f,e,t,m).attr(r)),q.attr({cursor:Ta&&"ns-resize"||"n-resize",ishot:!0}).drag(s,k,n).data("drag-options",{items:b.items,yPos:e,chart:this,datasetIndex:b.index,pointIndex:a,dataOptions:d,dataObj:g}))},dragStart:function(){var b=this.data("drag-options"),d=b.items,a=b.pointIndex,c=d[a+1],d=d[a],c=b.nextGraph=c&&c.connector,d=b.currGraph=d&&d.connector,a=b.chart;b._origY=b._lastY||(b._lastY=0);b.boundaryTop=a.canvasTop;b.boundaryBottom=
a.canvasTop+a.canvasHeight;b.currPath=d&&d.attr("path");b.nextPath=c&&c.attr("path");b.startValue=b.dataObj.y;b.origY=this.attr("cy");b.origX=this.attr("cx");b.draged=!1},dragMove:function(b,d){var a=this.data("drag-options"),c=a.items[a.pointIndex],e=a.nextPath,f=a.currPath,g=a.dataObj,h=a.chart,t=h.elements.plots[a.datasetIndex],m=h.yAxis[0],q=h.logic.numberFormatter,k=m.yBasePos,n=c.dataLabel,s=g.allowNegDrag?a.boundaryBottom:k,r=a.dataOptions,k=a.origY+d;a.draged||(r={dataIndex:a.pointIndex+1,
datasetIndex:r.__i+1,startValue:a.startValue,datasetName:r.name},D.raiseEvent("dataplotDragStart",r,h.logic.chartInstance));k<a.boundaryTop&&(d=a.boundaryTop-a.origY);k>s&&(d=s-a.origY);k=a.origY+d;this.animate({cy:k});c.graphic&&c.graphic.attr("transform","t0,"+(a._origY+d));e&&e[0]&&a.nextGraph&&(Ta?e[0][2]=k:e[2]=k,a.nextGraph.animate({path:e}));f&&f[1]&&a.currGraph&&(Ta?f[1][2]=k:f[5]=k,a.currGraph.animate({path:f}));c=g.y=a.value=ra(1E8*m.getAxisPosition(k,1))/1E8;q=q.dataLabels(c);ab.pointUpdate(g,
q,c);n&&h.drawPlotLineLabel(h.plots[a.datasetIndex],a.dataOptions,a.pointIndex,a.origX,k).attr("text",g.displayValue);a.draged=!0;a.lastY=d;h.getAreaPath&&t.graphic&&t.graphic.attr({path:h.getAreaPath(t.data)})},dragUp:function(){var b=this.data("drag-options"),d=b.chart,a=d.logic,c=!d.options.chart.doNotSnap,e=b.dataObj,f=b.dataOptions,g,h;b.draged&&(g=b.yPos+b.lastY,c&&(h=ab.snapPoint(d,e,g),h-g&&d.dragMove.call(this,0,h-b.yPos)),b.yPos=h,b._lastY=b.lastY+b._origY,b.lastY+=b.origY,f={dataIndex:b.pointIndex+
1,datasetIndex:f.__i+1,startValue:b.startValue,endValue:b.dataObj.y=b.value,datasetName:f.name},c=[d.logic.chartInstance.id,f.dataIndex,f.datasetIndex,f.datasetName,f.startValue,f.endValue],D.raiseEvent("dataplotDragEnd",f,d.logic.chartInstance),u.raiseEvent("chartupdated",f,d.logic.chartInstance,c),c={hcJSON:{series:[]}},c.hcJSON.series[b.datasetIndex]={data:[]},c.hcJSON.series[b.datasetIndex].data[b.pointIndex]={y:b.value,toolText:e.toolText,displayValue:e.displayValue},b.items[b.pointIndex].tracker.tooltip(e.toolText),
ab.setMinMaxValue(d),I(a.chartInstance.jsVars._reflowData,c,!0))}},r["renderer.cartesian"]);r("renderer.dragarea",{getAreaPath:function(b){for(var d=this.xAxis[0],a=this.yAxis[0],c=a.yBasePos,e=b.length,f=0,g=[],h=[],t=[],m=!0,q,k,n;f<e;f+=1)k=b[f],t[f]=d.getAxisPosition(f),h[f]=null,null!==k.y&&(h[f]=a.getAxisPosition(k.y),n=b[f-1]?b[f-1].y:null,k=b[f+1]?b[f+1].y:null,null!==n?(m?(g.push("M",t[f-1],c,"L",t[f-1],h[f-1],"L",t[f],h[f]),q=f-1):g.push("L",t[f],h[f]),null===k&&g.push("L",t[f],c,"L",t[q],
c),m=!1):m=!0);return g}},r["renderer.dragline"]);r("renderer.heatmap",{drawPlotHeatmap:function(b,d){var a=this,c=b.data,e=b.items,f=b.graphics=b.graphics||[],h=a.paper,l=a.layers,t=a.options,m=t.chart,q=m.showHoverEffect,k=!1!==(t.tooltip||{}).enabled,n=t.plotOptions.series,t=a.xAxis[d.xAxis||0],s=a.yAxis[d.yAxis||0],n=isNaN(+n.animation)&&n.animation.duration||1E3*n.animation,r=!1===d.visible?"hidden":"visible",u,w,x=t.getAxisPosition(0),v=t.getAxisPosition(1),y=s.getAxisPosition(0),B=s.getAxisPosition(1),
x=v-x,y=y-B,m=g(m.useRoundEdges,0),B=d.borderColor,v=d.borderWidth,A=d.dashStyle,E=x/2,F=y/2,C=l.dataset=l.dataset||h.group("dataset-orphan"),H=l.datalabels=l.datalabels||h.group("datalables").insertAfter(C),l=l.tracker,D=a.chartWidth,K=a.chartHeight,G=function(b){xa.call(this,a,b)},J=function(b){xa.call(this,a,b,"DataPlotRollOver")},I=function(b){xa.call(this,a,b,"DataPlotRollOut")},S=function(a,b){return function(){a.attr({fill:ha(b)})}},P,V,O,N,L,W,Q,U,T;n&&(H.attr({transform:"t"+D+","+K}),a.animationCompleteQueue.push({fn:function(){H.attr({transform:"t0,0"})},
scope:this}));D=0;for(K=c.length;D<K;D++){N=c[D];V=N.y;P=null;if(null!==V){L=N.link;W=N.toolText||N.tooltext;P=ha(N.setColor||N.color);w=(u=N.visible)&&!1===u?"hiddden":r;Q=g(N.x,D);Q=t.getAxisPosition(Q)-E;T=s.getAxisPosition(V);U=T+F;V={link:L,value:N.value,columnId:N.columnId,rowId:N.rowId,displayValue:N.displayValue,tlLabel:N.tlLabel,trLabel:N.trLabel,blLabel:N.blLabel,brLabel:N.brLabel,toolText:W,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible};P=h.rect(Q,T,x,y,m,C).attr({fill:P,
stroke:B,"stroke-width":v,"stroke-dasharray":A,"stroke-linejoin":"miter","shape-rendering":0===m?"crisp":"",cursor:L?"pointer":"",opacity:n?0:N.setAlpha&&+N.setAlpha/100||1}).crisp().attr({visibility:w});n&&P.animate({opacity:N.setAlpha&&+N.setAlpha/100||1},n,"normal",a.getAnimationCompleteFn());if(q||k||L)O=h.rect(Q,T,x,y,m,l).attr({cursor:L?"pointer":"",stroke:sa,"stroke-width":v,fill:sa,ishot:!0}).data("eventArgs",V);(O||P).click(G).hover(J,I).tooltip(W);1===q&&P&&O&&O.hover(S(P,N.hoverColor),
S(P,N.setColor||N.color));e[D]={index:D,value:N.value,graphic:P,tracker:O,dataLabel:null,dataLabels:[],visible:u||"hidden"!==w};u=a.drawLabelHeatmap.call(a,b,d,D);P&&f.push(P);O&&f.push(O);w=0;for(N=u.length;w<N;w++)!e[D].dataLabels&&(e[D].dataLabels=[]),u[w]&&f.push(u[w]),e[D].dataLabels.push(u[w])}a.drawTracker&&a.drawTracker.call(a,b,D,Q,U)}b.visible=!1!==d.visible;return b},drawLabelHeatmap:function(b,d,a){var c=b.items[a],e=b.data[a];b=this.paper;a=this.layers.datalabels;var f=this.options.plotOptions.series.dataLabels,
g=f.style;d=!1===d.visible?"hidden":yb;var h=e.displayValue,t=e.tlLabel,m=e.trLabel,q=e.blLabel,e=e.brLabel,k=f.tlLabelStyle,n=f.trLabelStyle,s=f.blLabelStyle,f=f.brLabelStyle,r={fontFamily:k.fontFamily,fontSize:k.fontSize,lineHeight:k.lineHeight,fontWeight:k.fontWeight,fontStyle:k.fontStyle},u={fontFamily:n.fontFamily,fontSize:n.fontSize,lineHeight:n.lineHeight,fontWeight:n.fontWeight,fontStyle:n.fontStyle},w={fontFamily:s.fontFamily,fontSize:s.fontSize,lineHeight:s.lineHeight,fontWeight:s.fontWeight,
fontStyle:s.fontStyle},x={fontFamily:f.fontFamily,fontSize:f.fontSize,lineHeight:f.lineHeight,fontWeight:f.fontWeight,fontStyle:f.fontStyle},v=c.tlLabel,y=c.trLabel,B=c.blLabel,D=c.brLabel,C=this.smartLabel,F=c.dataLabel,E=[],H={fontFamily:g.fontFamily,fontSize:g.fontSize,lineHeight:g.lineHeight,fontWeight:g.fontWeight,fontStyle:g.fontStyle},G,K,J,I,L,S,P,V;I=c.graphic.getBBox();G=I.width;K=I.height;J=I.x;I=I.y;C.setStyle(g);U(h)&&h!==A&&(P=C.getSmartText(h,G,K,!1),h=P.text,F||(F=c.dataLabel=b.text(a)),
F.attr({text:h,title:P.tooltext||"",visibility:d,fill:g.color,x:J+.5*G,y:I+.5*K,"text-bound":[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,g.borderRadius,g.borderDash]}).css(H),E.push(F));h=U(t)&&t!==A;H=U(m)&&m!==A;L=U(q)&&q!==A;S=U(e)&&e!==A;g=G*(h&&H?.5:.9);F=.5*(K-(P&&P.height||0));V=I+4;h&&(C.setStyle(k),P=C.getSmartText(t,g,F,!1),h=P.text,t=J,v||(v=c.tlLabel=b.text(a)),v.attr({text:h,title:P.tooltext||"",visibility:d,fill:k.color,"text-anchor":"start","vertical-align":Ea,
x:t+4,y:V,"text-bound":[k.backgroundColor,k.borderColor,k.borderThickness,k.borderPadding,k.borderRadius,k.borderDash]}).css(r),a.appendChild(v),E.push(v));H&&(C.setStyle(n),P=C.getSmartText(m,g,F,!1),h=P.text,t=J+G,y||(y=c.trLabel=b.text(a)),y.attr({text:h,title:P.tooltext||"",visibility:d,fill:n.color,"text-anchor":"end","vertical-align":Ea,x:t-4,y:V,"text-bound":[n.backgroundColor,n.borderColor,n.borderThickness,n.borderPadding,n.borderRadius,n.borderDash]}).css(u),a.appendChild(y),E.push(y));
V=I+K-4;L&&(C.setStyle(s),P=C.getSmartText(q,g,F,!1),h=P.text,t=J,B||(B=c.blLabel=b.text(a)),B.attr({text:h,title:P.tooltext||"",visibility:d,fill:s.color,"text-anchor":"start","vertical-align":Fa,x:t+4,y:V,"text-bound":[s.backgroundColor,s.borderColor,s.borderThickness,s.borderPadding,s.borderRadius,s.borderDash]}).css(w),E.push(B));S&&(C.setStyle(s),P=C.getSmartText(e,g,F,!1),h=P.text,t=J+G-4,D||(D=c.brLabel=b.text(a)),D.attr({text:h,title:P.tooltext||"",visibility:d,fill:f.color,"text-anchor":"end",
"vertical-align":Fa,x:t,y:V,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]}).css(x),a.appendChild(D),E.push(D));return E},setScaleRange:function(b,d){var a=this.logic,c=this.plots[0],e={visibility:"visible"},f={visibility:"hidden"},g={hcJSON:{series:[{}]}},h=g.hcJSON.series[0],t=h.data||(h.data=[]),m=a.chartInstance.jsVars._reflowData,q=c.items,k,n,s,r,u,w,x,v=function(a){a.attr(w)};setTimeout(function(){var a,c;a=0;for(c=q.length;a<c;a++)k=
q[a],n=k.value,s=k.graphic,u=t[a]||(t[a]={}),r=k.dataLabels,w=(x=n>=b&&n<=d)?e:f,s.attr(w),ib(r,v),u.visible=x;I(m,g,!0)},100)}},r["renderer.cartesian"]);r("renderer.radar",{createRadarAxis:function(){var b=this.options,d=this.canvasLeft+this.canvasWidth/2,a=this.canvasTop+this.canvasHeight/2,c=b.xAxis,e=b.yAxis instanceof Array?b.yAxis[0]:b.yAxis,f=c.max-c.min+1,g=S(e.max-e.min),b=U(b.chart.axisRadius)?b.chart.axisRadius:E(d,a),h,r=Ra.PI/2,m={};0>b&&(b=E(d,a));h=2*Ra.PI/f;m.yTrans=b/g;m.xTrans=h;
m.yRange=g;m.startAngle=r;m.yMin=e.min;m.centerX=d;m.centerY=a;m.radius=b;m.categories=[];m.catLength=f;m.yAxis=e;m.xAxis=c;return this.radarAxis=m},drawRadarAxis:function(){var b=this.radarAxis,d=b.catLength,a=b.xAxis,c=b.yAxis,e=c.min,f=c.plotLines,p=f.length,l=a.plotLines,r=b.xTrans,m=b.yTrans,q=b.radius,k=b.startAngle,n=this.canvasLeft+this.canvasWidth/2,s=this.canvasTop+this.canvasHeight/2,u=this.paper,w=this.layers,y=w.dataset=w.dataset||u.group("orphan-dataset").trackTooltip(!0),x=w.layerBelowDataset=
w.layerBelowDataset||u.group("axisbottom").trackTooltip(!0),v=w.layerAboveDataset=w.layerAboveDataset||u.group("axistop").trackTooltip(!0),A=w.axisLines=w.axisLines||u.group("axis-lines",x),B=w.axisLabels=w.axisLabels||u.group("axis-labels",x),C=c.labels,c=2*Ra.PI,D=Ra.PI/2,F=Ra.PI+D,E=!1!==(this.options.tooltip||{}).enabled,H,G,K=["right","center","left"],J,I,L,U=a.labels,P=g(.9*parseInt(U.style&&U.style.fontSize,10),9)/2,U=q+U.labelPadding,V=[],O=["M"],N=[],ca;x.insertBefore(y);v.insertAfter(y);
b.divline=[];for(L=0;L<p;L+=1){N[L]=["M"];x=!0;y=d;H=f[L];ca=H.tooltext;for(G=H.value;y--;)C=S(G-e)*m,J=n+C*wa(-(k+y*r)),I=s+C*qb(-(k+y*r)),N[L].splice(N[L].length,0,J,I),x&&(N[L].push("L"),x=!1),0===y&&H.label&&(C=H.label,((v=C.text)||0===v)&&u.text(B).attr({text:v,x:J,y:I,"text-anchor":"right"===C.textAlign?"end":"left"===C.textAlign?"start":"middle","vertical-align":C.verticalAlign,rotation:C.rotation}).css(C.style));N[L].push("Z");b.divline[L]=u.path(N[L],A).attr({stroke:H.color,"stroke-width":H.width});
E&&ca&&u.path({stroke:sa,"stroke-width":Za(H.width,bc),ishot:!0,path:N[L]},w.tracker).toBack().tooltip(ca)}x=!0;for(y=l.length;y--;)if(H=l[y],G=H.value,d=k+G*r,e=d%c,J=n+q*wa(-d),I=s+q*qb(-d),V.splice(V.length,0,"M",n,s,"L",J,I),O.splice(O.length,0,J,I),x&&(O.push("L"),x=!1),H.label&&(C=H.label,(v=C.text)||0===v))e=e>D&&e<F?0:e==D||e==F?1:2,f=C.style,p={fontFamily:f.fontFamily,fontSize:f.fontSize,lineHeight:f.lineHeight,fontWeight:f.fontWeight,fontStyle:f.fontStyle},u.text(B).attr({text:v,x:n+U*wa(-d),
y:s+U*qb(-d)+P*qb(-d)+P,"text-anchor":"right"===K[e]?"end":"left"===K[e]?"start":"middle","vertical-align":C.verticalAlign,rotation:C.rotation,"text-bound":[f.backgroundColor,f.borderColor,f.borderThickness,f.borderPadding,f.borderRadius,f.borderDash]}).css(p);O.push("Z");b.spikeGraph=u.path(V,A).attr({stroke:a.gridLineColor,"stroke-width":h(a.gridLineWidth,1)});a.showRadarBorder&&(b.borderGraph=u.path(O,A).toBack().attr({stroke:a.radarBorderColor,"stroke-width":h(a.radarBorderThickness,2),fill:a.radarFillColor}))},
drawPlotRadar:function(b,d){var a=this,c=a.paper,e=a.layers,f=e.dataset=e.dataset||c.group("orphan-dataset"),h=e.datalabels=e.datalabels||c.group("datalabels").insertAfter(f),l=e.tracker=e.tracker||c.group("hot").insertAfter(f),t=a.options,m=t.chart.anchorTrackingRadius,q=t.plotOptions.series,k=[],n=b.items||{},s=b.graphics=b.graphics||[],e=a.radarAxis,u=d.data||[],w=u.length,y,x,v=!1===d.visible,C=v?"hidden":"visible",q=isNaN(+q.animation)&&q.animation.duration||1E3*q.animation,B,A,D=!1!==(t.tooltip||
{}).enabled,F,E,H,G,K=f.radarGroup=f.radarGroup||c.group("connectors",f),J=f.marker=f.marker||c.group("anchors",f),I=l.trackers=l.trackers||c.group("trackers",l),L=a.chartWidth,U=a.chartHeight,f=[],P,V,O,N,ca,W,Q,Z,T,$,aa,da,ea,ba,fa,ga,ja=(t=t.cursor)&&{cursor:t},ia=r["renderer.cartesian"],la,ka,ma;void 0===a.radarAxis&&(e=a.radarAxis=a.createRadarAxis(d),a.drawRadarAxis(d));B=e.yTrans;F=e.yMin;E=e.startAngle;A=e.xTrans;y=e.centerX;x=e.centerY;1<=w&&(W=[],ib(u,function(e,f){T=null;f?2>f&&W.push("L"):
W.push("M");n[f]=la=k[f]={chart:a,index:f,value:e.y};if(null===e.y)W.push(y,x);else{Q=$=null;aa=e.link;da=e.tooltext||e.toolText;H=y+B*S(e.y-F)*wa(-(E+f*A));G=x+B*S(e.y-F)*qb(-(E+f*A));if(Q=e.anchorElem)ca=g(Q.attr("r"),V.radius),Q.attr({x:H,y:G,r:ca});else if(V=e.marker,ma={index:f,link:aa,value:e.y,displayValue:e.displayValue,categoryLabel:e.categoryLabel,toolText:da,id:b.userID,datasetIndex:b.index,datasetName:b.name,visible:b.visible},V&&V.enabled)if(O=V.radius,ea=V.shadow,P=V.symbol.split("_"),
N="spoke"===P[0]?1:0,fa=ga={},ba=e.rolloverProperties,V.imageUrl)ka=new Sa.Image,ka.onload=function(e,f,g,h,k,m,n,p){return function(){var q=g.imageUrl,r=g.imageScale,t=g.imageAlpha,u=n.imageHoverAlpha,v=n.imageHoverScale,w=this.width*r*.01,x=this.width*v*.01;fa={x:e-this.width*r*.005,y:f-this.height*r*.005,width:w,height:this.height*r*.01,alpha:t};ga={x:e-this.width*v*.005,y:f-this.height*v*.005,width:x,height:this.height*v*.01,alpha:u};u=x>w?ga:fa;(h.graphic=Q=c.image(q,J).attr(fa).css({opacity:.01*
t}).data("alwaysInvisible",0===r).data("setRolloverProperties",n).data("setRolloverAttr",ga).data("setRolloutAttr",fa).data("anchorRadius",r).data("anchorHoverRadius",v))&&s.push(Q);if(aa||D||n)$=h.tracker=c.rect(l).attr(u).attr({cursor:aa?"pointer":"",stroke:sa,"stroke-width":g.lineWidth,fill:sa,ishot:!0,visibility:C}).data("eventArgs",k).click(function(b){xa.call(this,a,b)}).hover(function(b){return function(c){ia.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(h),function(b){return function(c){ia.hoverPlotAnchor(this,
c,"DataPlotRollOut",b,a)}}(h)).tooltip(m);(T=h.dataLabel=ia.drawPlotLineLabel.call(a,b,d,p,e,f))&&s.push(T)}}(H,G,V,la,ma,da,ba,f),ka.onerror=function(c,e,f,g,h,k,l,m){return function(){(T=g.dataLabel=ia.drawPlotLineLabel.call(a,b,d,m,c,e))&&s.push(T)}}(H,G,V,la,ma,da,ba,f),ka.src=V.imageUrl;else{ba&&(fa={polypath:[P[1]||2,H,G,O,V.startAngle,N],fill:ha(V.fillColor),"stroke-width":V.lineWidth,stroke:ha(V.lineColor)},ga={polypath:[ba.sides||2,H,G,ba.radius,ba.startAngle,ba.dip],fill:ha(ba.fillColor),
"stroke-width":ba.lineWidth,stroke:ha(ba.lineColor)});Q=la.graphic=c.polypath(P[1]||2,H,G,O,V.startAngle,null,J).attr({fill:ha(V.fillColor),"stroke-width":V.lineWidth,stroke:ha(V.lineColor),cursor:aa?"pointer":"","stroke-linecap":"round","stroke-linejoin":"round",ishot:!0,visibility:0===O?"hidden":C}).data("alwaysInvisible",0===O).data("setRolloverProperties",ba).data("setRolloverAttr",ga).data("setRolloutAttr",fa).data("anchorRadius",O).data("anchorHoverRadius",ba&&ba.radius).shadow(ea);e.anchorElem=
Q;if(aa||D||ba)($=e.trackerElem)?(ca=g($.attr("r"),V.radius+1),$.attr({x:H,y:G,r:ca})):(P||(P=V.symbol.split("_")),O=Za(O,m,ba&&ba.radius||0),$=c.circle(H,G,O,I).attr({cursor:e.link?"pointer":"",stroke:sa,"stroke-width":1,fill:sa,ishot:!0,visibility:C}).css(ja)),e.trackerElem=$;($=$||Q)&&$.data("eventArgs",ma).click(function(b){xa.call(this,a,b)}).hover(function(b){return function(c){ia.hoverPlotAnchor(this,c,"DataPlotRollOver",b,a)}}(la),function(b){return function(c){ia.hoverPlotAnchor(this,c,"DataPlotRollOut",
b,a)}}(la)).tooltip(da)}W.push(H,G);la.dataLabel=T;la.tracker=$;V&&V.imageUrl||(T=ia.drawPlotLineLabel.call(a,b,d,f,H,G));Q&&s.push(Q);T&&s.push(T);$&&s.push($)}}),W.push("Z"),f=f.concat(W));f&&0<f.length&&(Z=b.graphic=c.path(f,K).attr({stroke:ha(d.lineColor.FCcolor),fill:ha(d.fillColor.FCcolor),"stroke-width":d.lineWidth,visibility:C}));q&&(a.animationCompleteQueue.push({fn:function(){J.show();h.attr({transform:"...t"+-L+","+-U})},scope:a}),J.hide(),h.attr({transform:"...t"+L+","+U}),K.scale(.01,
.01,y,x).animate({transform:"s1,1"},q,"normal",a.getAnimationCompleteFn()));Z&&s.push(Z);b.visible=!v},legendClick:function(b){r["renderer.cartesian"].legendClick.call(this,b)},getEventArgs:function(b){return r["renderer.cartesian"].getEventArgs.call(this,b)}},r["renderer.root"]);r("renderer.multiLevelPie",{drawPlotMultilevelpie:function(b,d){var a=this,c=b.items,e=b.data,f=a.options,h=f.plotOptions.series,l=a.layers,r=h.animation,m=h.dataLabels.style,q=h.shadow,k=g(b.moveDuration,r.duration,0),n=
h.borderWidth,s=h.borderColor,u=a.paper,f=(f=f.tooltip||{},!1!==f.enabled),w=(d.startAngle||0)%uc,y=uc/(d.valueTotal||100),x=a.canvasLeft+.5*a.canvasWidth,v=a.canvasTop+.5*a.canvasHeight,C,B,A,D,F,G,H,J,K,L,I;B=E(a.canvasWidth,a.canvasHeight);var S,U=l.dataset,P=r.mainItem,V=r.animObj,O=function(b){xa.call(this.graphic,a,b,"DataPlotRollOver");h.point.events.mouseOver.call(this)},N=function(b){xa.call(this.graphic,a,b,"DataPlotRollOut");h.point.events.mouseOut.call(this)},Z=function(b){xa.call(this.graphic,
a,b,"DataPlotRollOver");h.point.events.mouseOver.call(this)},W=function(b){xa.call(this.graphic,a,b,"DataPlotRollOut");h.point.events.mouseOut.call(this)},Q=function(){a.placeDataLabels(!1,c,b,d)};C=.5*(/%$/.test(d.size)?B*parseInt(d.size,10)/100:d.size);B=.5*(/%$/.test(d.innerSize)?B*parseInt(d.innerSize,10)/100:d.innerSize);d.metrics=[x,v,2*C,2*B];e&&e.length||(e=[]);S=l.datalabels||(l.datalabels=u.group("datalabels").insertAfter(U));L=K=w;for(I=e.length;I--;)D=e[I],F=D.y,G=D.displayValue,l=D.toolText,
H=!!D.link,null!==F&&void 0!==F&&(L=K,K-=F*y,J=.5*(K+L),(A=c[I])||(A=c[I]={chart:a,link:D.link,value:F,angle:J,color:D.color,prevPointIndex:D.prevPointIndex,prevSeriesIndex:D.prevSeriesIndex,labelText:G,graphic:u.ringpath(x,v,C,B,w,w,U).attr({"stroke-width":D.borderWidth||n,stroke:D.borderColor||s,fill:ha(D.color),"stroke-dasharray":D.dashStyle,ishot:H,cursor:H?"pointer":""}).shadow(q&&!!D.shadow)},D={link:D.link,label:D.displayValue,toolText:D.toolText},A.graphic.mouseover(O,A),A.graphic.mouseout(N,
A),A.graphic.mouseup(a.plotMouseUp),A.graphic.data("plotItem",A),A.graphic.data("eventArgs",D),f&&A.graphic.tooltip(l),void 0!==G&&(A.dataLabel=u.text(S).css(m).attr({text:G,fill:m.color||"#000000",visibility:"hidden",ishot:H,cursor:H?"pointer":""}).mouseover(Z,A).mouseout(W,A).mouseup(a.plotMouseUp).data("plotItem",A).data("eventArgs",D),f&&A.dataLabel.tooltip(l))),k?P?A.graphic.animateWith(P,V,{ringpath:[x,v,C,B,K,L]},k,"easeIn",!I&&Q):(V=r.animObj=ga.animation({ringpath:[x,v,C,B,K,L]},k,"easeIn",
!I&&Q),P=r.mainItem=A.graphic.animate(V)):(A.graphic.attr({ringpath:[x,v,C,B,K,L]}),!I&&Q&&Q()))},plotMouseUp:function(b){var d=this.data("plotItem");xa.call(this,d.chart,b)}},r["renderer.piebase"]);ga.addSymbol({resizeIcon:function(b,d,a){var c=g(a,15)/3,e=[];0>c&&(c=-c,a=-a,b+=a-c/2,d+=a-c/2);for(a=3;0<a;a-=1)e.push("M",b-c*a,d-3,"L",b-3,d-c*a);return e},closeIcon:function(b,d,a){var c=1.3*a,e=43*Z,f=48*Z,g=b+c*wa(e),e=d+c*qb(e),h=b+c*wa(f),r=d+c*qb(f),f=.71*(a-2);a=.71*(a-2);c=["A",c,c,0,1,0,h,
r];g=["M",g,e];g=g.concat(c);return g=g.concat(["M",b+f,d-a,"L",b-f,d+a,"M",b-f,d-a,"L",b+f,d+a])},configureIcon:function(b,d,a){a-=1;var c=.71*a,e=.71*(a+2),f=b-a,g=d-a,h=b+a;a=d+a;var r=b+.5,m=d+.5,q=b-.5,k=d-.5,n=f-2,s=g-2,u=h+2,w=a+2,y=b+c,x=d+c,v=b-c,c=d-c,A=b+e,B=d+e;b-=e;d-=e;return["M",f,m,"L",n,m,n,k,f,k,v-.25,c+.25,b-.25,d+.25,b+.25,d-.25,v+.25,c-.25,q,g,q,s,r,s,r,g,y-.25,c-.25,A-.25,d-.25,A+.25,d+.25,y+.25,c+.25,h,k,u,k,u,m,h,m,y+.25,x-.25,A+.25,B-.25,A-.25,B+.25,y-.25,x+.25,r,a,r,w,q,
w,q,a,v+.25,x+.25,b+.25,B+.25,b-.25,B-.25,v-.25,x-.25,"Z"]},axisIcon:function(b,d,a){a-=1;var c=.33*a,e=a/2,f=b-a,g=d-a,h=b+e;a=d+a;b-=e;e=d+c;d-=c;return["M",f,g,"L",h,g,h,a,f,a,"M",b,e,"L",h,e,"M",b,d,"L",h,d]},loggerIcon:function(b,d,a){a-=1;b-=a;d-=a;var c=b+2*a,e=b+2,f=c-2,g=d+2;a=g+a;var h=a+2;return["M",b,d,"L",c,d,c,g,f,g,f,a,c,a,c,h,b,h,b,a,e,a,e,g,b,g,b,d]}})},[3,2,1,"release"]]);
